为什么创建表时不能用'字段名',而用`字段名`?
要么是用`````````````````括起来,要么是不括。使用''''''''括起来,是错误的,可能把 '字段名' 整体认为是表名。
两者在linux下和windows下不同,linux下不区分,windows下区分。
主要区别就是
单引号( ' )或双引号主要用于 字符串的引用符号
如:
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '/'hello';
数据库、表、索引、列和别名用的是引用符是反勾号(‘`’) 注:Esc下面的键
如:
mysql>SELECT * FROM `select` WHERE `select`.id > 100;
如果SQL服务器模式包括ANSI_QUOTES模式选项,还可以用双引号将识别符引起来:
mysql> CREATE TABLE "test" (col INT);
ERROR 1064: You have an error in your SQL syntax. (...)
mysql> SET sql_mode='ANSI_QUOTES';
mysql> CREATE TABLE "test" (col INT);
Query OK, 0 rows affected (0.00 sec)