gpt4 book ai didi

MySQL - 在一列中插入数据,保留其他列,使用 ON DUPLICATE KEY UPDATE

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

我有一个表,假设有 4 个字段。

表格:id(自增), col1, col2, col3

有几行包含 id、col1 和 col2 的数据。

Col3 是空的。

我想用值填充 col3,在现有行中使用这样的一个查询:

INSERT INTO table(id, col3)
VALUES
(1, 'value1'),
(2, 'value2'),
(3, 'value3'),
...
ON DUPLICATE KEY UPDATE
id = VALUES(id),
col3 = VALUES(col3);

但是我得到一个错误,因为 col1 和 col2 没有默认值。我只想更新 col3,并保留其他列值。我该怎么办?

最佳答案

你可以使用一个简单的更新语句:

Update yourtable t
Set t.col3 = case when t.id = 1 then ‘value1’
case when t.id = 2 then ‘value2’
.....
else t.col3 end;

您还可以过滤所需的 ID 以获得更好的性能

关于MySQL - 在一列中插入数据,保留其他列,使用 ON DUPLICATE KEY UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52823211/

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