mysql suppression en cascade ne fonctionne pas
Question
Je suis en train d'utiliser CASCADE ON SUPPRIMER dans base de données mysql mais je ne peux pas le faire fonctionner. Voici mon code:
CREATE TABLE sometable
(
testId CHAR(43),
blocked BOOL,
PRIMARY KEY(testId)
);
CREATE TABLE p
(
testId CHAR(43),
phrase text,
source text,
FOREIGN KEY (testId) REFERENCES sometable (testId) on delete cascade
);
CREATE TRIGGER sometable_insert BEFORE INSERT ON `sometable` FOR EACH ROW SET NEW.`testId` =UUID();
Je puis faites une insertion dans sometable, qui va générer un UUID. Je prends cette UUID et l'insérer dans le tableau p. insérer dans p (testid, expression, source) des valeurs ( '07616f60-424f-11df-871a-b98e9', 'fun', 'test');
Lorsque vous effectuez une suppression de la ligne de rien sometable se passe dans le tableau p. Qu'est-ce que je manqué ou ce que je suis-je tort
La solution
Ok, a trouvé la solution. Je devais préciser le type InnoDB comme ceci:
CREATE TABLE sometable
(
testId CHAR(43),
blocked BOOL,
PRIMARY KEY(testId)
) type=innodb;
Merci pour les commentaires
// Jakob
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow