我有一个让我有点困惑的情境。我使用case语句来更新表的某些行。 sql查询在下面,但是如果我没有为列schema_value指定值,那么查询将清除它为null。以下是查询和表的副本运行查询时,它将使null初始化并测试。
任何想法?
UPDATE vals
SET valu
CASE
When name = 'sitename' THEN '$siteame'
When name = 'street' THEN '$stret'
When name = 'city' THEN '$cit'
When name = 'State' THEN '$sate'
When name = 'zipcode' THEN '$ipcode'
When name = 'phone' THEN '$pone'
When name = 'fax' THEN '$fx'
When name = 'social' THEN '$ocial'
END;
答案 0 :(得分:2)
如果没有匹配,只需添加一个else语句就可以保留原始数据
$