如何根据父进行外键更新

时间:2014-12-06 05:43:14

标签: mysql foreign-keys

我有两个表,我使用Designer在第一个表的id列和第二个表的user_id列之间建立了关系。我在何处以及如何添加代码或执行某些操作以便在删除父(id)时删除与删除的id相对应的user_id值?我尝试删除其中一个已注册的ID,但子表中的相应行未被删除。

我做了一些搜索,但我仍然很困惑。

谢谢。

注意:我正在尝试使用MySQL和PHP,这是我正在制作的一个小博客。

2 个答案:

答案 0 :(得分:0)

请向外键约束添加ON DELETE引用操作。

更多细节可以在这里找到: https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

对于您的情况,ON DELETE CASCADE应该没问题。

答案 1 :(得分:0)

  1. 将第一个表中的 id 设置为主键

    CREATE TABLE tbl_first(id INT PRIMARY KEY AUTO_INCREMENT,name varchar(20))

  2. 将您的第二个表格设为 tbl_second

    CREATE TABLE tbl_second(id INT PRIMARY KEY AUTO_INCREMENT,fk_id int)

  3. 像这样添加约束

    alter table tbl_second

    添加约束fk_first

    外键tbl_second(fk_id)

    引用tbl_first(id)

    删除级联

  4. 似乎SQL Server和mySql有点不同,但它应该可以工作,我在mySQL中测试它