我一直在使用这样的 sql 来更新我的数据库中的属性列表:
update my_table set a = ?, b = ?, c = ?, d = ?, where customer = ?
但是我只想用新值更新一个属性,如果它在数据库中已经没有值。我怎样才能做到这一点?
最佳答案
在 MS SQL 中,这样的事情(假设非值意味着数据库 NULL
)应该可以工作:
update
my_table
set
a = COALESCE(a, ?),
b = COALESCE(b, ?),
c = COALESCE(c, ?),
d = COALESCE(d, ?)
where
customer = ?
COALESCE()
从其参数返回第一个非空值。
关于SQL UPDATE,但仅当旧值为空时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4806171/