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

編集: index が予約済みのキーワードであることに気付きました。また、その列の名前を変更する必要があります。

于 2013-10-26T19:29:46.740 に答える
0

クエリで index を使用できますが、これは予約済みのキーワードであるため、一重引用符ではなくバッククォートで囲む必要があります。

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