gpt4 book ai didi

mysql - 如果不存在具有相同值的行,如何在 Mysql 中插入行

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

在 mySql 中,如果特定电子邮件不存在行,我如何插入一行,我需要从数据库表中创建一千个缺失的行,我有一个包含五千封电子邮件的文件,我不知道哪封电子邮件已经存在在表中,哪些不在。

我试图像这样为每一行构造一个 sql 语句,但它是无效的 sql 语法

insert into License (email) select unique 'person@gmail.com' where not exists (select 1 from License where email='person@gmail.com');

Email 不是表的主键,不一定是唯一的,我关心的是如果没有包含电子邮件地址的记录,则添加一条记录,否则不添加。

最佳答案

您可以通过为 where 添加一个 from 子句来解决这个问题:

insert into License (email)
select email
from (select 'person@gmail.com' as email) t
where not exists (select 1 from License l where l.email = t.email);

但是,在一条语句中执行所有插入操作更有意义:

insert into License (email)
select t.email
from database_table t
where not exists (select 1 from License l where l.email = t.email);

如果您只需要 1000 个,您可以添加一个 limit 1000

关于mysql - 如果不存在具有相同值的行,如何在 Mysql 中插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42580374/

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