ホーム › フォーラム › A5:SQL Mk-2掲示板 › #42000エラー
- このトピックには7件の返信、1人の参加者があり、最後ににより3年、 2ヶ月前に更新されました。
-
投稿者投稿
-
yamadaゲスト
テーブル定義の変更に DDLを実施する時に#42000エラーメッセージが表示されます。
mysqlバージョン:5.7.23
a5m2バージョン:2.16.1メッセージ:
#42000Incorrect table definition; there can be only one auto column and it must be defined as a keyテーブル変更前のDDL文:
CREATE TABLE
emp
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT ‘キー’,
name
varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘名前’,
age
int(11) DEFAULT NULL COMMENT ‘年齢’,
address
varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘住所’,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci松原正和キーマスターyamada さんこんにちは。
MySQL は auto_increment 型があると、主キーをcreate table時に必ず指定しなければいけないのですね。Version 2.17.0 beta 11 で生成されるSQLを修正してみました。yamadaゲストありがとうございます。
Version 2.17.0 beta 11 で確認しましたが、テーブル定義の変更に#42000エラーが修正しましたが。
まだ、二つの問題があります。
1.コメントの編集の所、#42000エラーまだあります。
2.新テーブルの前にスキーマをつけてもらえると助かります、
カレントスキーマが正しくない場合もリネームできます。変更前:
— 新テーブルをリネームして元テーブル名に変更
alter table demo.$$emp
rename to emp変更後:
— 新テーブルをリネームして元テーブル名に変更
alter table demo.$$emp
rename to demo.emp松原正和キーマスターyamada さんこんにちは。
>2.新テーブルの前にスキーマをつけてもらえると助かります
これについては、確かにスキーマ名をつけた方が良さそうなのでつけたのですが、>1.コメントの編集の所、#42000エラーまだあります。
こちらはよく分かりませんでした。なにかまだ、#42000エラーになることがあるのでしょうか?。ossuserゲストすみませんでした、説明が詳しくないで申し訳ございません。
テーブルエディタではスピードボタンまたはメニューから[テーブル(T)]-[コメントの編集(Y)…]を選択することでコメントの編集機能を呼び出すことが出来ます。
上記 のテーブルでコメントを修正して保存すると#42000エラーが出ました。
yamadaゲストコメントの編集機能を呼び出して保存するとエラーが出ました。
エラー:
#42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘comment on table demo.emp is ‘社員” at line 1松原正和キーマスターyamada さんこんにちは。
はい、MySQLにおいて、テーブルコメントを修正するときにコメントが修正できない不具合がありました。Version 2.17.0 beta 14で修正しましたのでご確認ください。yamadaゲストありがとうございました。
Version 2.17.0 beta 14で修正したことが確認しました。 -
投稿者投稿