2017-04-03 38 views

回答

0

你必須把這個名字在反引號是這樣的:

CREATE TABLE testtable (
`W i t h S p a c e s` VARCHAR(33) 
); 
0

是,任何SQL實現應該支持分隔標識符。這使您可以在表名和列名中使用空格,標點符號,國際字符或SQL保留字。

https://dev.mysql.com/doc/refman/5.7/en/identifiers.html說:

標識符引號字符是反引號(`):

mysql> SELECT * FROM `select` WHERE `select`.id > 100; 

如果啓用了ANSI_QUOTES SQL模式,它也允許雙引號內 報價標識符標記:

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); 

請注意,當您啓用QUOTED_IDENTIFERS選項時,Microsoft SQL Server也支持雙引號作爲標識符分隔符。請參閱https://technet.microsoft.com/en-us/library/ms176027(v=sql.105).aspx

標準SQL將雙引號定義爲唯一的標識符分隔符。不幸的是,微軟和MySQL都沒有得到這個備忘錄。

0

我試過使用撇號,並沒有工作。返回勾號感謝您的信息。