Java 在WHERE子句和类似语句中连接3列是否可行?
我想在Java中使用MySQL进行这样的查询。我想制作一个类似于facebook的搜索栏,它不需要特定的列进行搜索,而是通过许多列进行搜索Java 在WHERE子句和类似语句中连接3列是否可行?,java,mysql,jdbc,Java,Mysql,Jdbc,我想在Java中使用MySQL进行这样的查询。我想制作一个类似于facebook的搜索栏,它不需要特定的列进行搜索,而是通过许多列进行搜索 DefaultTableModel model=(DefaultTableModel) table.getModel(); model.setRowCount(0); String key = searchbar.getText(); Connection con = Connect(); String sql="S
DefaultTableModel model=(DefaultTableModel) table.getModel();
model.setRowCount(0);
String key = searchbar.getText();
Connection con = Connect();
String sql="Select * from table1 WHERE Surname,Middlename,Firstname LIKE ?";
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, "%" +key+ "%");
ResultSet result = statement.executeQuery();
我如何做到这一点?提前谢谢 您当前的语法不起作用,但没有理由不重复
LIKE
表达式三次,每列一次:
String sql = "SELECT * FROM table1 WHERE Surname LIKE ? OR ";
sql += "Middlename LIKE ? OR Firstname LIKE ?";
PreparedStatement statement = con.prepareStatement(sql);
statement.setString(1, "%" + key + "%");
statement.setString(2, "%" + key + "%");
statement.setString(3, "%" + key + "%");
从@SBF编辑我已将您的
WHERE
子句中的术语合并在一起。如果你真的想要三个名字都匹配键的记录,那么用和
替换或
,或
,我认为这样比较好