从table2中的外键约束中删除记录,table2中有主键

时间:2015-01-21 17:44:23

标签: mysql database

假设Table1有

wordid col2
 1     x
 2     y
 3     x

现在table2已经

wordid col3
  1    a
  2    b
  3    c
  4    d

“table1”表中的“wordid”列是“table1”表中的PRIMARY KEY。

“table2”表中的“wordid”列是“table2”表中的FOREIGN KEY。

我想删除“table2”中未绑定到任何约束的所有记录。 (这里需要删除带有wordid“4”的行)

1 个答案:

答案 0 :(得分:0)

我假设你还没有设置FK或者没有强制执行完整性?

DELETE FROM table2 WHERE wordid NOT IN
( SELECT wordid FROM table1 )

与评论中提到的Hamlet一样,您应该在FK中使用ON DELETE CASCADE并强制执行FK完整性。