MySQL Workbenchでカラムの桁数を変更するとAuto IncrementがOFFになる件

2017年07月26日
投稿者:岩佐 孝浩
カテゴリ:MySQL タグ:
MySQL

MySQL Workbenchでカラムの桁数を変更するとAuto IncrementがOFFになる件

鈴木商店の岩佐です。
先日、MySQL Workbenchで、Auto Incrementが設定されているカラムの桁数を変更したところ、1 row(s) affected, 1 warning(s): 1364 Field ‘id’ doesn’t have a default valueというエラーが発生して、INSERTができなくなりました。
(今回の問題は、主キーにNOT NULL制約が付与されており、かつ、Auto IncrementがONの場合に生じる可能性があります)

「MySQL 5.7で2点間の距離(メートル)をSQLで取得する方法」も併せてどうぞ。

1. カラムの桁数変更前の状態

(例)usersテーブル

編集前のusersテーブル
編集前のusersテーブル

(例)データ

id last_name first_name
1 岩佐 孝浩

2. カラムの桁数変更

上記のusers.idint(10)からint(11)に変更してみます。

カラムの桁数変更
カラムの桁数変更

実行されたSQL

3. INSERTができない問題が発生

上記のusersテーブルのように、id=PRIMARY KEY+NOT NULL+AUTO INCREMENTというパターンは多いと思います。
そして、Auto Incrementが設定されているので、INSERT時に値を指定しないのが普通かと思います。
当然、NOT NULL制約が付与されているため、以下のようなエラーが発生してしまいます。

実行するSQL

結果

4. 解決方法

Auto Incrementを再設定しました・・・。

以上、お役に立てれば幸いです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です