mysql - 附加外键后无法删除行

标签 mysql foreign-keys foreign-key-relationship

我有两个表 secondthird

second_id(PRIMARY KEY)  second_name           
   1                    .........
   2                    .......
   3                    .........

third_id(PRIMARY KEY) third_name second_id(FOREIGN KEY for second.second_id)
      1                  .....                 1
      2                  .....                 1
      3                  .....                 1
      4                  .....                 2
      5                  .....                 2

现在我想从 second 中删除一行 second_id=2 (DELETE FROM second WHERE second_id=2) 但它不起作用。它说 Successful 0 row(s) affected 更重要的是,它发生在我将外键附加到 third.second_id 之后(我添加了创建表后的外键)。

最佳答案

您必须删除 third 表中 second_id = 2 的行,然后从 second 中删除 id = 2 的行,或者使用 ON DELETE CASCADE 在外键约束中

关于mysql - 附加外键后无法删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34501590/

相关文章:

mysql - Oracle 11G 中的限制/偏移

mysql - 从表中选择值作为新列

foreign-keys - Teradata:如何从表中删除外键约束?

Django 1.4 多个数据库外键关系(1146, "Table ' other.orders_iorder'不存在”)

mysql - 单独的 FOREIGN KEY 声明失败

php - 带有条件的mysql查询计数,结果为数字

php - 如何随机化、检索和防止在表中绘制重复项?

mysql - 更改表时出错,添加约束外键出现错误 "Cannot add or update a child row"

database - 将现有列修改为外键

mysql - 无法在mysql中建立外键约束