1

我想从给定的索引中检索数据。下面是数据库的sql代码:

 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

它什么也没给我!我不明白我做错了什么,任何帮助将不胜感激,谢谢。

4

2 回答 2

2

只需删除引号。现在它什么也不返回,因为 'index' 不等于 1。如果你包装它引用的值,它将被视为字符串值。

SELECT * FROM test WHERE index=1

编辑:刚刚注意到索引是一个保留关键字。您还必须重命名该列。

于 2013-10-26T19:29:46.740 回答
0

您可以在查询中使用索引,但由于它是保留关键字,因此您必须将其包装在反引号中,而不是单引号中:

SELECT * FROM test WHERE `index`=1
于 2013-10-26T20:29:26.717 回答