gpt4 book ai didi

MySQL 仅在 NULL 时插入 - 存在任何通用标志吗?

转载 作者:行者123 更新时间:2023-11-29 10:32:53 24 4
gpt4 key购买 nike

我有一个 MySQL 插入模板:

INSERT INTO $0.$1 ($2$ColumnList)
VALUES ($2$ValueList) ON DUPLICATE KEY UPDATE

这是一个 MySQL 命令文件 (*.sqlcmd),程序使用它随机传递 ColumnListValueList。因此,我事先不知道值或列是什么。

现在,我希望进行条件插入,仅当列为 NULL 或 NOT NULL 时才插入。请注意,我知道我可以编写一条 MySQL 语句,例如 where mycolumn IS NULLNOT NULL

但是有没有类似于 ON DUPLICATE KEY UPDATE 类型的标准 MySQL 标志,我可以一劳永逸地指定它,这有助于我摆脱一次提及单个列名的麻烦IS NULL 还是 IS NOT NULL?

最佳答案

不,没有办法自动执行此操作。您需要明确命名每一列:

ON DUPLICATE KEY UPDATE col1 = IFNULL(VALUES(col1), col1), col2 = IFNULL(VALUES(col2), col2), ...

无论什么脚本创建变量 $ColumnList 都可能从相同的原始数据生成此 ON DUPLICATE KEY UPDATE 子句。

关于MySQL 仅在 NULL 时插入 - 存在任何通用标志吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47058063/

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