SQL groupsテーブルが作成できない

事の経緯

ある日、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), 
    ・・・以下省略);

そうすることで、先ほどのテーブル名でも生成することが出来ました。