在數據插入MySQL之前,我正在使用下面的代碼進行檢查。不過,我得到如下錯誤嘗試向MySQL中插入數據時獲取錯誤
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE NOT EXISTS (SELECT * FROM movie_title WHERE title = 'ABC')' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
這裏我的代碼
public void checkAndAdd(String movieTitle) throws Exception {
// TODO Auto-generated method stub
DatabaseConnection db=new DatabaseConnection();
Connection connect=db.getConnection();
String sql="INSERT INTO movie_title(title) VALUES (?) WHERE NOT EXISTS (SELECT * FROM movie_title WHERE title = ?)";
PreparedStatement ps=connect.prepareStatement(sql);
ps.setString(1,movieTitle);
ps.setString(2,movieTitle);
ps.executeUpdate();
connect.close();
ps.close();
}
編輯
String sql=" IF NOT EXISTS(SELECT * FROM movie_title WHERE title = ?) INSERT INTO movie_title (title) VALUES (?) ";
如何找到你的問題:以你在Java中執行SQL,將其複製到MySQL並運行它。當mysql給你一個錯誤時,調試你的SQL – mmcrae