我創建了以下數據庫:SQL「SELECT」命令不工作,即使條目是在DB
CREATE TABLE QuizRepo (
User_ID BIGINT AUTO_INCREMENT PRIMARY KEY,
Name TEXT
)
我通過JDBC填充它,當我填充它,我得到:
mysql> select * from QuizRepo;
| User_ID | Name |
| 1 | "XXQuiz"|
當我做下面的命令,它按預期工作:
mysql> select * from QuizRepo where USER_ID=1;
User_ID | Name |
| 1 | "XXQuiz"|
然而,當我做下面的命令,我得到一個奇怪的RESU lt
mysql> select * from QuizRepo where Name="XXQuiz";
Empty set (0.01 sec)
有沒有人見過這種情況?這怎麼可能?也許我錯誤地將它添加到數據庫中(似乎不太可能),但是您可以清楚地看到有一個名爲「XXQuiz」的條目,那麼爲什麼它沒有找到它?
我正在返回正確的...您使用的是哪個版本的mysq? –
似乎正常工作=> http://sqlfiddle.com/#!9/630b5/1 – kkaosninja
請記住,在SQL中,您應該使用單引號分隔字符串。 (如果不打開ANSI_QUOTES,MySQL會讓你用雙引號離開(http://dev.mysql.com/doc/refman/5.7/en/string-literals.html),但最好的做法是使用單引號。)我猜如果引用的一個小錯誤理解可能會導致您將數據庫中的'Name'放入雙引號意外的數據庫中。 –