0

众所周知,如何通过简单的查询将字段值设置为 null,例如 -

UPDATE your_table
SET    your_column = NULL
WHERE  id = 1;

但是从编程上讲,哪一种是将字段值更新为 null 的正确方法-

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

或者

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

谢谢

4

2 回答 2

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);
}
于 2013-03-21T10:00:50.830 回答
2

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

您的查询应该如下所示;

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

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

如果您不使用绑定变量,那么您就是;

a) 易受 SQL 注入攻击。
b) 由于不使用数据库上的查询缓存而损失性能。

于 2013-03-21T10:00:44.100 回答