[英]Use java prepared statement with LIKE
我想使用帶有 LIKE 關鍵字的 java 准備語句。 我正在嘗試匹配日期字符串。 繼承人我的代碼。
String summaryChooser = "SELECT * FROM PRODUCT p, CODE_COVERAGE_SUMMARY s WHERE "
+ " p.product_id = s.product_id AND p.product_id = ? AND s.date LIKE ? "
+ " ORDER BY s.date DESC LIMIT 1 ";
ps = dbConnection.prepareStatement(summaryChooser);
ps.setInt(1, productsResult.getInt("product_id"));
ps.setString(2, "%" + date + "%");
它給出了以下例外。
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你的 SQL 語法有錯誤; 檢查與您的 MySQL 服務器版本相對應的手冊,了解在 '? 和 s.date 喜歡嗎? ORDER BY s.date DESC LIMIT 1' 在第 1 行
我可以通過這樣做來使它工作。
ps.setString(2, date + "%");
謝謝大家 :)
代替:
ps.setString(2, "%" + date + "%");
和:
ps.setString(2, "'" + date + "'");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.