Java MySQL DELETE语句问题

时间:2015-12-19 17:01:40

标签: java mysql

使用:

String query = "DELETE FROM Candidates WHERE COD = ?";
declaratie.setInt(1, 11);

它有效。

但是,如果我使用这个表达式:

String query = "DELETE FROM Candidati WHERE ? = ?";
declaratie.setString(1, "COD");            
declaratie.setInt(2, 11);

它运行,没有错误,但什么也没做......

我使用它错了吗?

2 个答案:

答案 0 :(得分:1)

你的第二个表达式什么也没做,因为条件是“错误的”:条件是'COD' = 11,其评估为false,因为第一个参数是一个字符串,而不是COD = 11。< / p>

您无法使用预准备语句修改查询或输入列名。您只能传递作为参数处理的值。

答案 1 :(得分:1)

您的第一个语句正在运行,因为?用于设置参数。第二个未运行,因为您无法将列名称设置为参数