【发布时间】:2012-01-18 07:03:10
【问题描述】:
我有以下数据库和两个表(请原谅我的丑陋格式):
TABLE_A : Id TINYINT, PRIMARY KEY (Id)
TABLE_B : Id TINYINT, FOREIGN KEY (Id) REFERENCES TABLE_A (Id)
我想修改 Id 使其成为 SMALLINT 而不是 TINYINT。以下是一些失败的尝试:
mysql> ALTER TABLE TABLE_A MODIFY Id SMALLINT
ERROR 1025 (HY000): Error on rename of '.\testdb\#sql-bcc_16' to '.\testdb\table_a' (errno: 150)
mysql> ALTER TABLE TABLE_B DROP FOREIGN KEY (Id)
ERROR 1025 (HY000): Error on rename of '.\testdb\table_b' to '.\testdb\#sql2-bcc-16' (errno: 152)
有人知道这里发生了什么吗?
【问题讨论】:
-
发布
show create table table_b显示的内容。 -
您应该首先
ALTER TABLE TABLE_B DROP FOREIGN KEY Id(其中id是外键的名称)。 -
已解决或仍面临错误??