mad*_*hur 3 mysql sql sql-update
这个表" Trade"带有列" call",Call包含values(C,P)从CSV加载时我想更新来自java程序的Trade if call='C' then call='CE'和
if call='P' then call='PE'
我发现这可以使用2个查询完成.就像这样
update Trade set call='CE' where call='C';
update Trade set call='PE' where call='P';
Run Code Online (Sandbox Code Playgroud)
无论如何这可以在单个查询中完成吗?
CALL 是保留的关键字,需要转义.
UPDATE Trade
SET `CALL` = CASE WHEN `Call` = 'C' THEN 'CE'
WHEN `Call` = 'P' THEN 'PE'
ELSE `CALL` END
WHERE `CALL` IN ('C','P')
Run Code Online (Sandbox Code Playgroud)
我看到的最短解决方案:
UPDATE Trade
SET call = CONCAT(call,'E')
WHERE call IN ('C', 'P');
Run Code Online (Sandbox Code Playgroud)