No.185
【MySQL】AUTO_INCREMENT属性カラムの制約
AUTO_INCREMENT属性
MySQLでAUTO_INCREMENT
を使ったときに下記のようなエラーが出た。
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
恥ずかしいことに十数年知らなかったのだが、MySQLでは
`AUTO_INCREMENT`属性のカラムは主キー(`PRIMARY KEY`)もしくはユニークキー(`UNIQUE KEY`)でなければいけない。
ということらしい。
特にマニュアルには明記はないんだけど、同ページに事例として書かれているものは確かに上の条件を満たしている。
いままでAUTO_INCREMENT
属性のカラムには席次反射でPRIMARY KEY
を設定していたので気がつかなかった。びっくり。