我想将我们的一些MyISAM表转换为InnoDB,这样我就可以利用外键支持。但是,大多数表使用两列(复合)主键设计,其中一列是自动增量的(出于历史原因,这样做也确保了自动增量列可以作为另一列的值上下文中的记录的一种增量键)
我意识到为了使用自动增量和InnoDB,我们需要去掉多列主键。我们有数千条记录,这些记录与其他表有关系。
关于如何将这些表转换为InnoDB,有什么建议吗?我想出的唯一方法是首先在每个表中添加一个新列,将其设置为惟一的自动递增主键,然后使用脚本更新依赖表,使其指向新的(真正唯一的)主键。
谢谢史蒂夫
发布于 2011-09-09 14:03:01
在MySQL 5.0和更高版本中,可以将自动增量列作为主键的一部分,但它必须是索引中的第一个字段。
*...An AUTO_INCREMENT列必须显示为InnoDB表的索引中的第一列...*
请查看此处的文档条目http://dev.mysql.com/doc/refman/5.0/en/innodb-auto-increment-handling.html
https://stackoverflow.com/questions/5060927
复制相似问题