将Cascade Delete添加到现有外键

时间:2014-03-26 21:44:44

标签: mysql

我的一张桌子上有一个外键,想要添加ON DELETE CASCADE,有人可以告诉我如何做它请:)谢谢

1 个答案:

答案 0 :(得分:2)

参见示例:

CREATE TABLE tbl1(
      id INT PRIMARY KEY AUTO_INCREMENT, 
      name INT
    )

    CREATE TABLE tbl2 (
      id INT PRIMARY KEY AUTO_INCREMENT, 
      tbl1_id INT REFERENCES tbl1(id) ON DELETE CASCADE
    )

要添加到现有表格:

ALTER TABLE tbl2
   ADD CONSTRAINT tbl1_id_fk
   FOREIGN KEY (tbl1_id)
   REFERENCES tbl1(id)
   ON DELETE CASCADE;

如果使用InnoDB,请确保将FOREIGN_KEY_CHECKS参数设置为1
使用SHOW VARIABLES LIKE 'foreign_key_checks' (1=ON, 0=OFF)

的输出验证这一点