我最近将我的数据库迁移到了另一台服务器。
在旧服务器上,我大量使用了 InnoDB 的 ON DELETE CASCADE 规则。
在新服务器上,MySql 没有设置 InnoDB 引擎。
在迁移时,新服务器默认使用 MyISAM - 直到现在我才注意到这一点。(头撞墙!)
所以,情况是这样的:因为数据库一直在使用,我的一些使用 ON DELETE CASCADE 规则的表现在不同步了。(仍然用头撞墙。)
这意味着我不能只是将表更改为 InnoDB 并重新应用级联规则——一些键现在引用不再存在的行。
我的问题是这样的:
有没有办法配置 INSERT 语句,以便如果插入的任何行违反级联规则,它只是默默地忽略该行并移动到下一行?(起初我以为 INSERT IGNORE 会做到这一点,但我已经尝试过了,它似乎不起作用。)
在此先感谢您的帮助