以编程方式将表字段值更新为null

时间:2013-03-21 09:54:12

标签: java mysql sql

众所周知,如何通过简单的查询(如

)将字段值设置为null
UPDATE your_table
SET    your_column = NULL
WHERE  id = 1;

但是在语法上,哪一个是将字段值更新为null的正确方法 -

db.execSQL("UPDATE  your_table SET your_column='" + null + "WHERE id='" + myid + "'");

OR

db.execSQL("UPDATE  your_table SET your_column= NULL WHERE id='" + myid + "'");

由于

2 个答案:

答案 0 :(得分:3)

我会选择PreparedStatement

String query="UPDATE  your_table SET your_column= ? WHERE id=?");
PreparedStatement stmnt = conn.prepareStatement(query);
if(colyouAretryingtopass == null){]
  stmnt.setNull(1, Types.VARCHAR);
}

答案 1 :(得分:2)

正确的方法是使用绑定变量,具体取决于您使用的框架,这是以不同的方式完成的。

您的查询应该是以下内容;

String query = "UPDATE your_table SET your_column = null WHERE id = ?";
executeQuery(query, id);

executeQuery(String query, Object... args)是您选择的数据库访问方法。

如果您不使用绑定变量;

a)适用于SQL注入 b)不利用数据库上的查询缓存而失去性能。