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