我有一个包含很多值的数据库。如何使用查询删除指定的行。
我正在使用以下查询进行删除。我想在colum name = user_name的帮助下删除一行。(user_name = example)。
但是在table.is上没有显示名为row的示例。它显示error.Any if exist
查询此
preparedStatement = (PreparedStatement) connection.prepareStatement("DELETE FROM users WHERE IF EXISTS user_name=example");
preparedStatement.executeUpdate();
尝试编译时出现以下错误
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 'EXISTS user_name='example'' at line 1
答案 0 :(得分:4)
IF EXISTS
user_name='example'
(带引号)或更好user_name=?
与PreparedStatement preparedStatement.executeUpdate()
即使没有结果也不应该抛出任何错误
答案 1 :(得分:0)
我想你只是忘记了跨越String字面'示例'的叛逆者:
DELETE FROM users WHERE user_name='example'.
这里不需要'WHERE EXISTS'!
问候
克里斯托弗
答案 2 :(得分:0)
我在电脑里试过这种方式并且工作正常
PreparedStatement pt =con.prepareStatement("DELETE FROM users WHERE IF EXISTS user_name='"+"example'");
pt.executeUpdate();
我制作了一张临时表并运行它