2013-10-26 62 views
1

我想从给定索引检索数据。 这里的数据库的SQL代码:通过索引在mysql数据库中检索数据

CREATE TABLE `test` (
`index` int(11) NOT NULL AUTO_INCREMENT, 
`user` text NOT NULL, 
PRIMARY KEY (`index`), 
UNIQUE KEY `index` (`index`) 
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 

我可以检索用户数据是这样的:

SELECT * FROM test WHERE user='bertrand' 

但是当我与指标尝试这样的:

'index'=1 

它给我一无所有! 我不明白我在做什么错, 任何帮助将不胜感激,谢谢。

+0

它给了我,当我删除引用此错误:#1064 - 你的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在第1行'index = 1 LIMIT 0,30'附近使用正确的语法。 – user2216280

+0

索引是保留字...尝试添加反引号(') –

+0

索引是保留关键字。重命名该列。 –

回答

1

只需删除引号。现在,它不会返回任何内容,因为'index'不等于1.如果您包装它引用的值,它将被视为字符串值。

SELECT * FROM test WHERE index=1 

编辑:只注意到指数是一个保留关键字。你也必须重命名该列。

+0

重命名它就像一个魅力! 非常感谢你们 – user2216280

0

您可以在查询中使用的索引,但因为它是一个保留关键字,你必须把它包在反引号,不是singlequotes:

SELECT * FROM test WHERE `index`=1