删除级联上的mysql不起作用

时间:2010-04-07 14:36:27

标签: mysql uuid cascade

我正在尝试在mysql db中使用ON CASCADE DELETE,但我无法使其工作。 这是我的代码:

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();
然后我在sometable中执行插入操作,这将生成一个UUID。 我拿这个UUID并将其插入表p。     插入p(testId,短语,来源)值('07616f60-424f-11df-871a-b98e9','fun','test');

当在某些行中对行执行删除时,表p中没有任何内容。 我错过了什么或我做错了什么

1 个答案:

答案 0 :(得分:1)

好的,找到了解决方案。我必须像这样指定innodb的类型:

CREATE TABLE sometable
(
testId CHAR(43),
blocked BOOL,
PRIMARY KEY(testId)
) type=innodb;

感谢您的评论

// Jakob