簡體   English   中英

mysql查詢插入一列的值相對於同一表中的另一列

[英]mysql query to insert the value of a column with respect to another column in same table

下面是我一直在研究的示例表,

╔════╦══════════════╦══════╗
║ KID║  REVCA       ║ REDO ║
╠════╬══════════════╬══════╣
║  4 ║ 43453453345  ║  0   ║
║  2 ║ NULL         ║  0   ║
║  5 ║ NULL         ║  0   ║
║  7 ║ 5566533      ║  0   ║
╚════╩══════════════╩══════╝

我正在通過從另一個表中選擇來插入REVCA值。 對於我得到的每個NULL值,我需要將REDO更新為1

以下是預期的輸出

╔════╦══════════════╦══════╗
║ KID║  REVCA       ║ REDO ║
╠════╬══════════════╬══════╣
║  4 ║ 43453453345  ║  0   ║
║  2 ║ NULL         ║  1   ║
║  5 ║ NULL         ║  1   ║
║  7 ║ 5566533      ║  0   ║
╚════╩══════════════╩══════╝

我目前正在使用更新查詢

UPDATE \`REVCA \` SET  \` REDO\` = 1      
WHERE \`REVCA \`= 0;

我正在尋找替代方案,因為數據庫的大小非常大。 我在插入過程中需要它。

我只能為此目的使用普通的 sql 請幫我完成同樣的任務。 謝謝!

就這么簡單:

update table set redo = 1 where revca is null

插入時:

insert into table(kid, revca, redo)
select @kid, @revca, case when @revca is null then 1 else 0 end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM