我创建了以下数据库:
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"|
但是,当我执行以下命令时,我得到了一个奇怪的结果
mysql> select * from QuizRepo where Name="XXQuiz";
Empty set (0.01 sec)
有没有人见过这种事发生过?怎么可能这样呢?也许我在数据库中错误地添加它(似乎不太可能)但是你可以清楚地看到有一个名为" XXQuiz"那为什么不找到它?
答案 0 :(得分:3)
看起来你也存储了引号。所以你需要这样一个:
select * from QuizRepo where Name = "\"XXQuiz\"";
或类似。
答案 1 :(得分:0)
可能是你的名字并不匹配确切地检查这个并尝试
select * from QuizRepo where Name like "%XXQuiz%";