0

我有以下带有两个表的数据库(请原谅我的丑陋格式):

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)

有谁知道这里发生了什么?

4

1 回答 1

1

Use below queries

mysql> ALTER TABLE Price MODIFY Id SMALLINT

mysql> ALTER TABLE Sale MODIFY Id SMALLINT

mysql> ALTER TABLE Phone MODIFY Id SMALLINT

I also answered it at MySQL alter table generating "error on rename" long time back... but you are not replying there...

Here in your case it will be

mysql> ALTER TABLE TABLE_A MODIFY Id SMALLINT

mysql> ALTER TABLE TABLE_B MODIFY Id SMALLINT

Update

check Help with: ERROR 1025 (HY000): Error on rename of .... (errno: 150).. Might help you..

于 2012-01-18T07:09:03.507 回答