我正在尝试在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中没有任何内容。 我错过了什么或我做错了什么
答案 0 :(得分:1)
好的,找到了解决方案。我必须像这样指定innodb的类型:
CREATE TABLE sometable
(
testId CHAR(43),
blocked BOOL,
PRIMARY KEY(testId)
) type=innodb;
感谢您的评论
// Jakob