gpt4 book ai didi

mysql - 如果满足条件则更新行,否则不更新列

转载 作者:行者123 更新时间:2023-11-29 15:55:35 24 4
gpt4 key购买 nike

我只想在满足条件时更新行,如果不满足则保留原始值在列中

如果 finish_date 为 null,则 start_date 不应更新,保持原始值。

如果finish_value不为空,则更新start_date

当我运行以下查询时,无论如何都会将 start_date 更新为传入的值。我做错了什么?

INSERT INTO barcode_queue (barcode, start_date) VALUES ('X17291211902P02V0010', '2019-06-01 00:00:00') 
ON DUPLICATE KEY UPDATE
start_date = (CASE WHEN finish_date <> NULL THEN VALUES(start_date) ELSE start_date END),
finish_date = null;

最佳答案

感谢您的帮助。这是解决方案

INSERT INTO barcode_queue (barcode, start_date) VALUES ('X17291211902P02V0010', '2019-06-01 00:00:00') 
ON DUPLICATE KEY UPDATE
start_date = (CASE WHEN finish_date IS NULL THEN start_date ELSE VALUES(start_date) END),
finish_date = null;

关于mysql - 如果满足条件则更新行,否则不更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56496684/

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