我在关系1中有两个表:n
create table A (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
data VARCHAR(32),
data2 INTEGER,
INDEX (id)
);
CREATE TABLE B (
A_id BINGINT,
some_data DOUBLE,
INDEX (A_id),
FOREIGN KEY (A_id) REFERENCES A(id) ON DELETE CASCADE
);
如果我更新表A中的一行,那么我需要从表A中删除表B中具有相同id的所有记录。解决它的最佳方法是什么? 我不知道我是应该使用触发器还是事件。
答案 0 :(得分:0)
您需要在表A上触发:
DELIMITER //
CREATE TRIGGER t BEFORE UPDATE ON A
FOR EACH ROW
BEGIN
DELETE FROM B WHERE a_id = NEW.id;
END
//
DELIMITER ;