我有以下两个表的数据库(请原谅我丑陋的格式):
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)有人知道这是怎么回事吗?
发布于 2012-01-18 07:09:03
使用以下查询
mysql> ALTER TABLE Price MODIFY Id SMALLINT
mysql> ALTER TABLE Sale MODIFY Id SMALLINT
mysql> ALTER TABLE Phone MODIFY Id SMALLINT
很久以前我也在MySQL alter table generating "error on rename"上回答过.但你不是在回答..。
在你的情况下将会是
mysql> ALTER TABLE TABLE_A MODIFY Id SMALLINT
mysql> ALTER TABLE TABLE_B MODIFY Id SMALLINT
更新
检查Help with: ERROR 1025 (HY000): Error on rename of .... (errno: 150)..。也许能帮到你..。
https://stackoverflow.com/questions/8906386
复制相似问题