mysql查询以插入一列相对于同一表中另一列的值
下面是我一直在做的一个示例表mysql查询以插入一列相对于同一表中另一列的值,mysql,Mysql,下面是我一直在做的一个示例表 ╔════╦══════════════╦══════╗ ║ KID║ REVCA ║ REDO ║ ╠════╬══════════════╬══════╣ ║ 4 ║ 43453453345 ║ 0 ║ ║ 2 ║ NULL ║ 0 ║ ║ 5 ║ NULL ║ 0 ║ ║ 7 ║ 5566533 ║ 0 ║ ╚════╩══════════════╩══════╝ 我正
╔════╦══════════════╦══════╗
║ KID║ REVCA ║ REDO ║
╠════╬══════════════╬══════╣
║ 4 ║ 43453453345 ║ 0 ║
║ 2 ║ NULL ║ 0 ║
║ 5 ║ NULL ║ 0 ║
║ 7 ║ 5566533 ║ 0 ║
╚════╩══════════════╩══════╝
我正在通过从另一个表中选择插入REVCA值。
我需要将得到的每个NULL值更新为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
@Giorgi我目前使用的是相同的,但我需要一个备用数据库。我正在处理的数据库的大小非常大,因此我无法运行这样的更新查询。还有其他的吗?是的,它可以工作,但是如果案例是0而不是null呢?我在'products\u id`=0时尝试了案例,然后1 else 0结束,但在@revca为null或@revca='0'时不工作,然后1 else 0结束