我試圖從我的表中獲取信息在PHP和MySQL,但問題是,表是所有數字。如果我做SQL SELECT * FROM語法錯誤
mysql_query("SELECT * FROM Hello")
它工作正常,
,如果我做
mysql_query("SELECT * FROM 123")
它說,我有不正確的語法。有人可以向我解釋如何使用數字作爲表名嗎?
我試圖從我的表中獲取信息在PHP和MySQL,但問題是,表是所有數字。如果我做SQL SELECT * FROM語法錯誤
mysql_query("SELECT * FROM Hello")
它工作正常,
,如果我做
mysql_query("SELECT * FROM 123")
它說,我有不正確的語法。有人可以向我解釋如何使用數字作爲表名嗎?
嘗試增加'在你的表名
mysql_query("SELECT * FROM `123`")
這裏使用`字符是規則的命名對象mysql - 包括表格:http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
要使用保留字,數字,用空格和標點符號等作爲列或表名,名與反引號把它包:
SELECT * FROM `123`
需要引用數字,如「123」
規則在MySQL的命名對象,包括表:
http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
Identifiers may begin with a digit but unless quoted may not consist solely of digits.
因此,使用你的語法,你可以這樣做:
SELECT * FROM `123`
至於其他人已經提到的,你可以在反引號包住表名給你:
SELECT * FROM `123`
然而,使用數字作爲表名是什麼,你必須非常仔細地考慮。原因是之後可能會導致混淆。你必須記住,對於這個特定表的每一個查詢,你都必須用反引號包裝它。
不知道爲什麼你有興趣在純粹的數字中命名錶,很難給出更好的建議。但請仔細考慮爲什麼要使用數字作爲SQL表名。
'123'不是有效的表名。即使有使用它作爲表名的解決方法,我強烈建議您使用不同的名稱。 –
下面是在mysql中命名對象的規則 - 包括表格:http://dev.mysql.com/doc/refman/5.1/en/identifiers.html – 99823