我正在将最初使用 SQL Server 2005、ASP.NET 和 Windows 2003 的 Web 应用程序及其基础架构重新开发为 LAMMP(当然,对于 memcached 的额外 M)堆栈,并且由于架构被大量重构(有很好的理由这样做)我必须编写自定义迁移应用程序。
问题是 InnoDB 主键 + 外键约束阻碍了我将数据插入其 MySQL/InnoDB 表的能力。我已经尝试过使用 DISABLE KEYS 和 FOREIGN_KEY_CHECKS 方法并临时删除主节点上的自动增量,当尝试进行这些更改之一(例如 DISABLE KEYS)时会引发错误,因为它在 InnoDB 中不受支持或尝试删除在空表中的列上分配主键或迁移应用程序在表为空时输入记录时抛出错误说键已存在。除了首先删除所有密钥然后再将它们放回去之外,还有什么可以做的(我认为这也会给我带来地狱)?
谢谢!