gpt4 book ai didi

MYSQL插入第一个空列

转载 作者:行者123 更新时间:2023-11-29 03:07:32 25 4
gpt4 key购买 nike

我有一个表,例如:

uniqueId     |    col1    |    col2   |   col3   
u1 8
u2
u3 13 89

我想要的是插入第一个空列(如果有帮助,可以使它们为空)。在给定的情况下,如果我将值 2 添加到 u1,它将被插入到 col2 中。如果我为 u2 这样做,它将进入 col1。对于 u3,它将进入 u3。这三个查询就可以解决问题,但我宁愿一次完成。

INSERT INTO tbl SET col1 = $toInsertVal WHERE uniqueId=u col1=''
INSERT INTO tbl SET col2 = $toInsertVal WHERE uniqueId=u col1<>'' AND col2=''
INSERT INTO tbl SET col3 = $toInsertVal WHERE uniqueId=u col1<>'' AND col2<>'' AND col3=''

最佳答案

insert into tbl set 
col1 = case when col1 = '' then $toInsertVal else col1 end
, col2 = case when col2 = '' and col1 <> '' then $toInsertVal else col2 end
...
where uniqueid = u

为了简单起见,我忽略了 NULL。基本上,您可以在每一列上使用 CASE,检查第一个空列并将其值设置为当前值(如果不需要更改)。

关于MYSQL插入第一个空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com