MySQL alter table - ändern TINYINT, um ein SMALLINT

Habe ich folgende Datenbank mit zwei Tabellen (entschuldigt meine hässliche format):

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

Möchte ich ändern-Id, so dass es ein SMALLINT eher als ein Wert vom Datentyp TINYINT. Hier sind ein paar fehlgeschlagene versuche:

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)

Weiß jemand, was hier Los ist?

  • Post was show create table table_b zeigt.
  • Sie sollten zuerst ALTER TABLE TABLE_B DROP FOREIGN KEY Id (wo id ist der name des Foreign-Key).
  • überprüfen Sie meine aktualisierte Antwort
  • gelöst oder noch immer Fehler???
Schreibe einen Kommentar