以前のバージョンで動いていたDDLのCREATE TABLEでエラーがでる。
mysql> CREATE TABLE test
-> (
-> id VARCHAR(20) NOT NULL,
-> number INT NOT NULL AUTO_INCREMENT,
-> PRIMARY KEY (id, number)
-> );
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
AUTO_INCREMENTはキーでないとダメらしい。
いや、プライマリキーに指定しているのだが...?
データベースエンジンをmyisamに設定すると通った。
mysql> set storage_engine=myisam;たしか、MySQL 5.5あたりから、デフォルトのデータベース形式がMyISAMからInnoDBに変わったような気がするが、それが原因かもしれない。
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE TABLE test
-> (
-> id VARCHAR(20) NOT NULL,
-> number INT NOT NULL AUTO_INCREMENT,
-> PRIMARY KEY (id, number)
-> );
Query OK, 0 rows affected (0.00 sec)
だけど、同じSQLが通らないというのは、MySQL5.5はまだ不安が多いかも。
0 件のコメント:
コメントを投稿