2010年2月5日金曜日

MySQL Error Number 1025

エラーメッセージだけを見ると何でなのか分からないので備忘録として。

あるテーブル(以降:TableA)の主キーになっている列の属性をVARCHAR(45)からINTEGERに変更しようとした所、タイトルのエラーが発生、
エラーコードで調べてみると「列の名前を変更できません」という内容の様なのですが何故そうなるのか不明。

全体を見直してみた所、変更したいテーブルの主キーは別のテーブル(以降:TableB)で外部キーとして定義されていました。その辺が怪しいので以下の手順でやってみた所無事に属性を変える事が出来ました。

1、TableBの外部キーを削除
2、TableAの主キーの属性を変更
3、TableBの外部キーに該当する列の属性を2、と同じように変更
4、TableBにTableAの主キーへの外部キーを設定

0 件のコメント: