gpt4 book ai didi

MYSQL 检查重复项,仅当另一个字段为某个值时才插入

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

如果我要将数据插入到包含以下字段的表中:

序列号活跃国家

如果 active 为 no,我只需要插入重复的 serialNumbers。

例如:我想插入一条序列号为 1234 的记录。

如果表中不存在序列号,请继续添加。如果已经存在,检查'active' active 的值为yes 则不添加新记录,如果不存在则添加记录。

有什么想法可以在 MYSQL 中实现吗?

最佳答案

如果表缺少必要的唯一键并且您没有权限,或者不想设置您需要的键,您可以使用以下替代方法:

INSERT INTO `table1`
(`field1`,
`field2`)
SELECT value1,
value2
FROM (SELECT 1) t_1
WHERE NOT EXISTS (SELECT 1
FROM `table1`
WHERE `field1` = value1
AND `field2` = value2);

对于你的问题,它可以写成

INSERT INTO `activity`
(`serialNumbers`,
`active`)
SELECT 1234,
'yes'
FROM (SELECT 1) t_1
WHERE EXISTS (SELECT 1
FROM `activity`
WHERE `serialNumbers` = 1234
AND `active` = 'no');

关于MYSQL 检查重复项,仅当另一个字段为某个值时才插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22933628/

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