LoginSignup
0
0

More than 3 years have passed since last update.

MySQLでコマンドは合っているはずなのにデータベース作成ができないと思ったら予約語だった

Posted at

MySQLでコマンドは合っているはずなのにデータベース作成ができないと思ったら予約語だった

使用環境

  • windows10
  • XAMPP 7.3.18 (MariaDB 10.4.11)

背景

CREATE DATABASE condition;でconditionというデータベースを作成しようとしたら、コマンドは合っているはずなのにエラーが出て作成できない。

エラー内容

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'condition' at line 1

構文エラー?何度コマンドを見直してもコマンド自体は合っている。

原因

今回データベース名にしようとしていたcondition予約語だった!
予約語は盲点だった...
MySQL5.6リファレンスマニュアル

予約語(reserved word)
予約語とは、プログラミング言語などの人工言語の仕様に定められている、開発者が付ける識別名として利用できない文字列のこと。予約語に挙げられた単語やフレーズは変数名や関数名などに使用することはできない。
IT用語辞典

ちなみにMySQLとMariaDBのバージョンの互換性は以下

MySQLバージョン MariaDBバージョン
5.1 5.1, 5.2, 5.3
5.5 5.5, 10.0
5.6 10.0, 10.1, 10.2, 10.3, 10.4
5.7 10.2, 10.3, 10.4

OpenStandia

対処方法

データベース名を予約語以外にすることで解決。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0