sql SELECT * FROM语法错误

时间:2013-04-11 22:36:53

标签: php mysql

我试图从我的表中获取php和mysql中的信息,但问题是该表是所有数字。如果我做

mysql_query("SELECT * FROM Hello") 

它工作正常,

如果我这样做

mysql_query("SELECT * FROM 123") 

它说我的语法不正确。有人可以向我解释如何使用数字作为表名吗?

6 个答案:

答案 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表名。