PreparedStatement sql1 = connection.prepareStatement("UPDATE `bantable` " +
"SET reason=?, admin=?, started=?, time=?, ends=?, banned=?, datetimes=? " +
"WHERE DATE_SUB(`datetimes`, NOW())<=0 AND player=?;");
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 'NOW())<=0 AND player='Juustoast''
at line 1
为什么会打印出错误?
答案 0 :(得分:0)
NOW()
只是一个日期时间,所以如果datetimes
也可以使用普通运算符进行比较
WHERE datetimes < NOW()
如果datetimes
不 datetime
,date
或timestamp
,您必须转换它。
答案 1 :(得分:0)
NOW()
不是时间间隔,因此您无法对其应用DATE_SUB
。使用another answer中建议的解决方案。