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

Était-ce utile?

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
scroll top