0

私は2つのテーブルを持つ次のデータベースを持っています(私の醜いフォーマットを許してください):

TABLE_A : Id TINYINT, PRIMARY KEY (Id)
TABLE_B : Id TINYINT, FOREIGN KEY (Id) REFERENCES TABLE_A (Id)

TINYINT ではなく SMALLINT になるように Id を変更したいと思います。失敗した試みのいくつかを次に示します。

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

以下のクエリを使用

mysql> ALTER TABLE Price MODIFY Id SMALLINT

mysql> ALTER TABLE Sale MODIFY Id SMALLINT

mysql> ALTER TABLE Phone MODIFY Id SMALLINT

私はまた、 MySQLの変更テーブルで「名前変更時のエラー」を生成することにも答えました ...しかし、あなたはそこに返信していません...

ここであなたの場合は

mysql> ALTER TABLE TABLE_A MODIFY Id SMALLINT

mysql> ALTER TABLE TABLE_B MODIFY Id SMALLINT

アップデート

ヘルプを確認してください: エラー 1025 (HY000): 名前の変更中にエラーが発生しました .... (errno: 150) .. 役立つかもしれません..

于 2012-01-18T07:09:03.507 に答える