2014-12-06 94 views
0

我有两个表,我已经在我的第一个表的id列与我的第二个表的user_id列之间使用设计器的关系。在哪里以及如何添加代码或执行某些操作,以便在删除父(id)时,与删除的id相对应的user_id值也将被删除?我试着删除一个注册的ID,但子表中的相应行没有被删除。如何使外键更新基于父

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

谢谢。

注意:我正在试验MySQL和PHP,这是我正在创建的一个小博客。

回答

0
  1. 设置ID从第一台作为主键

    CREATE TABLE tbl_first(ID INT PRIMARY KEY AUTO_INCREMENT,名称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)

似乎SQL Server和MySQL有点不同,但它应该工作,我测试它在MySQL的

+0

想要插入tbl_second时,您应该从tbl_first中的“id”值中选择tbl_first中的某一行,如果tbl_second中有一个子项,它也会删除, – Ashkan 2014-12-06 20:46:33

+0

谢谢您在tbl_first 和 中选择值所有的帮助! :)对不起,我花了一段时间回到你身边。 – TheActualKid 2014-12-15 21:26:49

+0

np,剂量它的工作? – Ashkan 2014-12-23 06:17:44