1
我想在mysql数据库中使用ON CASCADE DELETE,但是我无法让它工作。 这里是我的代码:mysql删除级联不起作用
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();
我然后执行INSERT INTO sometable,这将产生一个UUID。 我拿这个UUID并将其插入表p。插入到p(testId,phrase,source)值中('07616f60-424f-11df-871a-b98e9','fun','test');
在某些表格中对行进行删除时,表p中没有任何操作发生。 我错过了什么或者我做错了什么
您是否使用InnoDB的? – nickf 2010-04-07 14:38:48
也许你必须在p表中的testId列上定义一个索引。 – 2010-04-07 14:43:15