プロが教えるわが家の防犯対策術!

MySQLのテーブル作成で質問があります。

mysql> CREATE DATABASE bbs_table;
Query OK, 1 row affected (0.01 sec)
では成功しますが
mysql> CREATE DATABASE bbs-table;とすると構文エラーとなりますね!
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 '-table' at line 1

ハイフン - は使用できないのでしょうか?

しかし

の26分41秒の phpMyAdminでは作成しています。
なぜ コマンドプロンプトではだめでMyAdminではOK なのでしょうか?
それともユーチューバーが間違っているのでしょうか?
宜しくお願い致します。

A 回答 (2件)

bbs-table



これは、bbs列とtable列の減算と判断されます。
これは標準SQLでも、主要なRDBMSでも同じです。
特別な意味のある記号、予約語と被る名称などを使いたい場合は、次のように名前を囲みます。

"名前"→「"」(二重引用符)で囲む。
 標準SQL、主要なRDBMSの殆ど。
`名前`→「`」(バッククォート)で囲む。MySQLなど一部のRDBMS。
[名前]→SQL Server、ACCESS

MySQLには、「MySQL構文」と「ANSI構文」があり、
SQLモードで選択できます。標準設定では「MySQL構文」です。

MySQL構文
"abc"→文字定数
'abc'→文字定数
`abc`→列などの名前

ANSI構文
"abc"→列などの名前
'abc'→文字定数
`abc`→列などの名前
    • good
    • 1
この回答へのお礼

詳しくご回答下さいましてありがとうございました。
勉強になります。
今後ともよろしくお願いいたします。

お礼日時:2022/10/22 00:17

ハイフンは特別な意味があるので、テーブル名をcreate database `bbs-table`と括ってみてください。


これで出来ると思います。
    • good
    • 1
この回答へのお礼

ありがとうございました。
了解です。
今後ともよろしくお願いいたします。

お礼日時:2022/10/22 00:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A