我正在尝试在 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();
然后我执行插入到某个表中,这将生成一个 UUID。我把这个 UUID 插入到表 p 中。插入 p(testId, phrase, source) values('07616f60-424f-11df-871a-b98e9', 'fun', 'test');
当对 sometable 中的行进行删除时,表 p 中没有任何反应。我错过了什么或我做错了什么