![](/img/trans.png)
[英]Mysql Insert ColumnName is (SELECT value form another column of the same table)
[英]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.