事の経緯
ある日、SQLでgroupsテーブルを作成しようと、
CREATE TABLE groups(
id int auto_increment,
name varchar(10),
・・・以下省略);
を実行すると、
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '入力したSQLの一部'
という、エラーコード1064というエラーメッセージが出ました。
SQLは、mysqlでversion8.0.26-0ubuntu0.20.04.2です。
SQLの文法に誤りがあると思いましたが、別のテーブル名で作成すると実行できました。
したがって、groupsテーブルにするとうまくいかないということが分かりました。
リンク
原因
おそらくですが、テーブル名と認識しておらず、SQL文で用いられる命令文と勘違いして、エラーメッセージを出しているものと考えられます。
理由として、groupsのみならず、select、insert、update、deleteやas、order、inなどのテーブル名で生成しようとしても同様のエラーメッセージが出たからです。
解決方法1
ウェブブラウザから操作できるデータベース管理ツールであるAdminerやphpMyAdminがあれば、そこからテーブル作成すると先ほどのテーブル名でも生成できます。
例:Adminer
テーブル生成完了!
解決方法2
テーブル名の前に明示的にデータベース名を入れることです。
CREATE TABLE database.groups(
id int auto_increment,
name varchar(10),
・・・以下省略);
そうすることで、先ほどのテーブル名でも生成することが出来ました。