首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果没有相同值的行,如何在Mysql中插入行

如果没有相同值的行,如何在Mysql中插入行
EN

Stack Overflow用户
提问于 2017-03-03 13:36:41
回答 1查看 81关注 0票数 1

在mySql中,如果某封电子邮件不存在行,我如何插入行,我需要从数据库表中创建一千行,我有一个包含5000封电子邮件的文件,我不知道哪一封电子邮件已经在表中了,而哪一封没有。

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

代码语言:javascript
运行
复制
insert into License (email) select unique 'person@gmail.com' where not exists (select 1 from License where email='person@gmail.com');

电子邮件不是表的主键,不一定是唯一的,我所关心的是如果没有记录与电子邮件地址添加一个记录,否则不要。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-03 13:38:46

您可以通过为该from设置一个where子句来修复这个问题。

代码语言:javascript
运行
复制
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);

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

代码语言:javascript
运行
复制
insert into License (email)
    select t.email
    from database_table t
    where not exists (select 1 from License l where l.email = t.email);

您可以添加一个limit 1000,如果您只需要其中的1000个。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42580374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档