我试图从我的表中获取信息在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