Таблица изменения MySQL - изменение TINYINT на SMALLINT - PullRequest
0 голосов
/ 18 января 2012

У меня есть следующая база данных с двумя таблицами (извините, мой уродливый формат):

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)

Кто-нибудь знает, что здесь происходит?

1 Ответ

1 голос
/ 18 января 2012

Используйте ниже запросы

mysql> ALTER TABLE Price MODIFY Id SMALLINT

mysql> ALTER TABLE Sale MODIFY Id SMALLINT

mysql> ALTER TABLE Phone MODIFY Id SMALLINT

Я также ответил на это MySQL alter table генерирует "ошибку при переименовании" давно ... но вы там не отвечаете ...

Вот в вашем случае это будет

mysql> ALTER TABLE TABLE_A MODIFY Id SMALLINT

mysql> ALTER TABLE TABLE_B MODIFY Id SMALLINT

Обновление

check Помощь с: ОШИБКА 1025 (HY000): Ошибка при переименовании .... (errno: 150) .. Может помочь вам ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...