ik draai mysql versie 4.0.11. Ik gebruik webmin om het volgende statement in te lezen:
CREATE TABLE mail
( mID INT NOT NULL AUTO_INCREMENT,
link VARCHAR(50) NOT NULL,
PRIMARY KEY (mID)
)type=INNODB;
CREATE TABLE user
( uID INT NOT NULL AUTO_INCREMENT,
email VARCHAR(50) NOT NULL,
PRIMARY KEY (uID)
)type=INNODB;
CREATE TABLE IF NOT EXISTS inbox
( mID INT NOT NULL,
uID INT NOT NULL,
isRead ENUM('yes', 'no') NOT NULL,
PRIMARY KEY (mID, uID),
INDEX mail_ind (mID),
FOREIGN KEY (mID) REFERENCES mail(mID) ON DELETE CASCADE
ON UPDATE CASCADE
)type=INNODB;
Nu doet mijn foreign key constraint niets, als ik een "mail" maak en een inbox rij die daarnaar verwijst, en vervolgens de verwezen mail verwijder, dan blijft mijn inbox rij gewoon staan.
In de mysql manual vond ik het volgende voorbeeld dat vanaf versie 3.23.44 zou moeten werken:
CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)
) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
) TYPE=INNODB;
Ik zie geen verschil behalve namen met wat ik doe. Wie weet waar dit aan ligt??
CREATE TABLE mail
( mID INT NOT NULL AUTO_INCREMENT,
link VARCHAR(50) NOT NULL,
PRIMARY KEY (mID)
)type=INNODB;
CREATE TABLE user
( uID INT NOT NULL AUTO_INCREMENT,
email VARCHAR(50) NOT NULL,
PRIMARY KEY (uID)
)type=INNODB;
CREATE TABLE IF NOT EXISTS inbox
( mID INT NOT NULL,
uID INT NOT NULL,
isRead ENUM('yes', 'no') NOT NULL,
PRIMARY KEY (mID, uID),
INDEX mail_ind (mID),
FOREIGN KEY (mID) REFERENCES mail(mID) ON DELETE CASCADE
ON UPDATE CASCADE
)type=INNODB;
Nu doet mijn foreign key constraint niets, als ik een "mail" maak en een inbox rij die daarnaar verwijst, en vervolgens de verwezen mail verwijder, dan blijft mijn inbox rij gewoon staan.
In de mysql manual vond ik het volgende voorbeeld dat vanaf versie 3.23.44 zou moeten werken:
CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)
) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE CASCADE
) TYPE=INNODB;
Ik zie geen verschil behalve namen met wat ik doe. Wie weet waar dit aan ligt??
[ Voor 36% gewijzigd door Verwijderd op 08-07-2004 22:32 . Reden: te vroeg gepost ]