-3

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

mysql_query("SELECT * FROM Hello") 

它工作正常,

如果我做

mysql_query("SELECT * FROM 123") 

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

4

6 回答 6

2

尝试这个:

SELECT * FROM `123`

您需要在前后使用`字符

于 2013-04-11T22:38:05.277 回答
1

尝试在您的表名周围添加`

mysql_query("SELECT * FROM `123`") 

以下是 mysql 中命名对象的规则 - 包括表:http ://dev.mysql.com/doc/refman/5.1/en/identifiers.html

于 2013-04-11T22:38:31.157 回答
1

要将保留字、数字、带空格和标点符号的名称等用作列名或表名,请用反引号括起来:

SELECT * FROM `123`
于 2013-04-11T22:38:43.267 回答
0

正如其他人所提到的,您可以将表名包含在反引号中以提供:

SELECT * FROM `123`

但是,使用数字作为表名将是您必须非常仔细考虑的事情。原因是它可能会在以后导致混乱。您必须记住,对于此特定表的每个查询,您都必须将其包装在反引号中。

在不知道为什么您对以纯数字命名表格感兴趣的情况下,很难给出更好的建议。但请仔细考虑为什么要使用数字作为 SQL 表名。

于 2013-04-11T22:49:14.490 回答
0

你需要引用像'123'这样的数字

于 2013-04-11T22:40:11.653 回答
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`
于 2013-04-11T22:40:41.370 回答