gpt4 book ai didi

Mysql 在重复键更新时插入第一个空列

转载 作者:行者123 更新时间:2023-11-29 06:32:33 27 4
gpt4 key购买 nike

我正在尝试设置一个查询以在第一个空列中插入数据,或者如果键值存在,则在第一个空列中更新

"INSERT INTO table 
(myid,tr1)
VALUES ('12345', '$data')
ON DUPLICATE KEY UPDATE
tr1 = CASE WHEN tr1 = '' ELSE tr1 END,
tr2 = CASE WHEN tr2 = '' ELSE tr2 END,
tr3 = CASE WHEN tr3 = '' ELSE tr3 END = $data"

其中 myid 是唯一键,换句话说:

--------------------------
| myid | tr1 | tr2 | tr3 |
--------------------------
| 1233 | data| | |
--------------------------
| | | | |
--------------------------

当我的 id 匹配时,它会更新下一个空列中的 $data,在这种情况下,myid=1233 列将是 tr2。当 myid 不存在时,它在 tr1 上插入 myid 和 $data。查询出现语法错误,如有任何帮助,我们将不胜感激!

最佳答案

也许问题出在 case 子句上。试试这个例子。

我对查询做了一些更改,现在应该可以了。 EXAMPLE

INSERT INTO `table` (myid,tr1)
VALUES ('12345', '111')
ON DUPLICATE KEY UPDATE
tr3 = CASE WHEN tr2 != '' AND tr3 = '' THEN '111' ELSE tr3 END,
tr2 = CASE WHEN tr1 != '' AND tr2 = '' THEN '111' ELSE tr2 END,
tr1 = CASE WHEN tr1 = '' THEN '111' ELSE tr1 END;

关于Mysql 在重复键更新时插入第一个空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27016651/

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