我有一个表,其中包含列name
,client_name
和requester_name
。我需要将这些列的值从“Mic”更新为“Michael”。在单个命令中有条件地更新多个列表
下面是一些记录应该更新:
name | client_name | requester_name
------+-------------+----------------
Mic | Jerry | Jack
Jack | Mic | Mic
Jerry | Jack | Mic
我尝试以下查询:
UPDATE names
SET name='Michael', client_name='Michael', requester_name='Michael'
WHERE name='Mic' OR client_name='Mic' OR requester_name='Mic';
该查询,使所有列更改所有名称为“迈克尔”。
查询看起来应该如何应用更改(如果适用)?
当然是这样,因为你列出了'SET'子句中的所有列。 –
是否有一个原因,它必须是一个单一的声明,而不是3(每列1)? – tmpearce
@tmpearce是的,有几个表的情况相似,其中值应该在特定条件下进行更改。我被要求不要产生很多短的查询:( – Dragon