众所周知,如何通过简单的查询(如
)将字段值设置为nullUPDATE 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 + "'");
由于
答案 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)不利用数据库上的查询缓存而失去性能。