mySQL在多行中搜索

时间:2009-07-10 03:11:20

标签: mysql prepared-statement

我有一张表:

| USERNAME | FORNAME | SURNAME | TELNUMBER | ZIPCODE ....

我想在1个查询/语句中搜索用户名forename和surname ..我不想要多行... 喜欢..让我们说..

用户名:maria33 forname:玛丽亚

所以这应该是1行..当我搜索mar%

而不是2!

1 个答案:

答案 0 :(得分:4)

作为准备好的声明:

SELECT *
FROM   users
WHERE  username LIKE ?
    OR forname  LIKE ?
    OR surname  LIKE ?

然后,如果您使用相同的字符串填充所有三个参数"%mar%"

preparedStatement.setString(1, "mar%");
preparedStatement.setString(2, "mar%");
preparedStatement.setString(3, "mar%");

你最终会得到这个SQL语句:

SELECT *
FROM   users
WHERE  username LIKE "mar%"
    OR forname  LIKE "mar%"
    OR surname  LIKE "mar%"