SQL" SELECT"命令不起作用,即使输入在DB中

时间:2016-02-28 07:17:15

标签: mysql sql jdbc

我创建了以下数据库:

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"那为什么不找到它?

2 个答案:

答案 0 :(得分:3)

看起来你也存储了引号。所以你需要这样一个: select * from QuizRepo where Name = "\"XXQuiz\"";

或类似。

答案 1 :(得分:0)

可能是你的名字并不匹配确切地检查这个并尝试

select * from QuizRepo where Name like "%XXQuiz%";