我试图从我的表中获取php和mysql中的信息,但问题是该表是所有数字。如果我做
mysql_query("SELECT * FROM Hello")
它工作正常,
如果我这样做
mysql_query("SELECT * FROM 123")
它说我的语法不正确。有人可以向我解释如何使用数字作为表名吗?
答案 0 :(得分:2)
试试这个:
SELECT * FROM `123`
你需要在
之前和之后使用`字符答案 1 :(得分:1)
尝试在表名周围添加`
mysql_query("SELECT * FROM `123`")
以下是在mysql中命名对象的规则 - 包括表:http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
答案 2 :(得分:1)
要使用保留字,数字,带空格和标点符号的名称等作为列名或表名,请用反引号进行包装:
SELECT * FROM `123`
答案 3 :(得分:0)
你需要引用像'123'这样的数字
答案 4 :(得分:0)
命名对象的规则,包括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`
答案 5 :(得分:0)
正如其他人提到的那样,你可以用反引号将表名包装起来给你:
SELECT * FROM `123`
但是,使用数字作为表名将是您必须非常仔细考虑的事情。原因是它可能会导致后来的混乱。您必须记住,对于此特定表的每个查询,您必须将其包装在反引号中。
在不知道为什么你有兴趣用纯数字来命名表格的情况下,很难给出更好的建议。但请仔细考虑为什么要使用数字作为SQL表名。