我有一个奇怪的用例。我正在使用的一个数据库有一个主键列在一个记录中重复了--我试图删除重复的列,但由于外键关系而无法删除。
父数据表:
| 标识符|标题|
| - -|- -|
| 一个|有些|
| 一个|其他|
| 2个|另一个|
子数据表:child.parent_id = parent.id
| 标识符|标题|父标识|
| - -|- -|- -|
| 一个|有些|一个|
| 2个|其他|2个|
| 三个|另一个|2个|
我需要从父表(id=1)中删除重复的记录,但由于外键约束而无法删除。此处的最佳路径是什么?
1条答案
按热度按时间roejwanj1#
不确定您是如何创建引用非唯一键列的外键的。
只需删除外键,删除有问题的行,然后重新添加外键。当然,您应该只在数据库未使用时才执行此操作。并且可能在事务中执行此操作。
可以使用以下命令删除外键:
并添加以下内容: