我正在尝试执行这个查询,它只更新第一列是空的。到目前为止,这是一个查询:
UPDATE `names` SET
`name_1` = CASE WHEN `name_1` = '' then 'Jimmy' else `name_1` end,
`name_2` = CASE WHEN `name_1` != '' and `name_2` = '' then 'Jimmy' else `name_2` end
它使用“Jimmy”更新所有列。我认为那是因为 SET 会更新它然后继续下一个 SET 并会更新它等等......我对导致这种情况的原因是正确的吗?如果是这样,我该如何解决?如果不是我应该如何重写这个?