MySQL DROP所有表的外键

时间:2013-01-18 13:35:04

标签: mysql foreign-key-relationship

我需要将修改表数据类型的表从bigint更改为int,完全在数据库中有200个表,但由于外键约束,我无法更改表。

我尝试了SET foreign_key_checks = 0;,但它无法修改数据类型。

请告诉我有没有其他方法可以在不影响现有表格的情况下修改表格。

1 个答案:

答案 0 :(得分:1)

这并不像你想象的那么简单。我认为,您想要更改的comlumn是表的主键的一部分。

所以这些是你需要在MySQL中遵循的步骤

  • 将所有FK放到桌面
  • 更新表格中的数据类型
  • 将具有FK的所有表上的数据类型更新为要更改的表。
  • 重新创建所有FK

除了我上面提到的,没有其他方法可以“欺骗”mysql来更改属于PK / FK的列。

MySQL需要PK和FK中的列完全相同的数据类型,否则您将无法重新创建FK。