更新PK值mysql

Liz*_*ard 1 php mysql

我有2个表我希望更新articles,articles_entities文章有PK,id而articles_entities有FK article_id,这些字段都是char(36),目前是UUID.我希望将这些字段转换为int(10).

有没有办法我可以用1个查询更新2个表并键入匹配的键?或者我是否必须编写脚本来查看每篇文章并更新所有参考文献?

如果有帮助,我正在使用InnoDb.

Rom*_*ain 5

两个步骤:

  1. 确保您的外键设置为"ON UPDATE CASCADE",然后更新母表的ID字段,使其包含数字.ON UPDATE CASCADE约束将使InnoDB更新子表,因为它更新了母...如果你有很多行,请准备这将是非常慢的.

  2. 将两列的类型更改为INT.您可能需要在执行此操作之前删除外键并在之后重新创建它.