我有一项任务。系统应仅在列为datetime时更新列日期时间。
我有这个查询
update posts set name = '$name', pubdate = case when pubdate is null
then now()
else pubdate end
where id = '$postid'
这是正确的方法吗?还有其他更好的解决方案吗?
答案 0 :(得分:0)
你的逻辑很好。我可以更简洁地写出:
update posts
set name = '$name',
pubdate = coalesce(pubdate, now())
where id = '$postid';
注意:
$name
和$postid
应该是查询的参数,而不是直接插入查询字符串。