博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql条件插入
阅读量:5046 次
发布时间:2019-06-12

本文共 592 字,大约阅读时间需要 1 分钟。

#新建表

create table t_user

(

  userNamevarchar(100),

  gender varchar(2)

)

#带条件插入,如果表中没有userName='name1'的记录,就插入,否则就不插入

insert into t_user

select 'name1','M'
from DUAL
where not exists(
select userName  #这里是select 1 或者select 列名都行
from t_user
where userName='name1'
)

注意,必须是from DUAL这个虚拟表,不能是from t_user表,否则t_user表中有几条记录,就会插入几条 'name1','M‘ 的记录. 以下的sql是错的!错的!错的!

insert into t_user

select 'name2','M'
from t_user
where not exists(
select userName
from t_user
where userName='name2'
)

以前一直用的SqlServer,改为mysql之后,以为基本的怎删改查语法都一样。却踩了这么个大坑,花了好长时间才找到原因.

转载于:https://www.cnblogs.com/lylongs/p/11191324.html

你可能感兴趣的文章
利用mysqldump备份mysql
查看>>
Qt中子窗口全屏显示与退出全屏
查看>>
使用brew安装软件
查看>>
[BZOJ1083] [SCOI2005] 繁忙的都市 (kruskal)
查看>>
吴裕雄 python 机器学习——数据预处理嵌入式特征选择
查看>>
Centos6.4安装JDK
查看>>
201521123069 《Java程序设计》 第4周学习总结
查看>>
线性表的顺序存储——线性表的本质和操作
查看>>
【linux】重置fedora root密码
查看>>
用swing做一个简单的正则验证工具
查看>>
百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)和WGS-84坐标互转
查看>>
pig自定义UDF
查看>>
输入名字显示其生日,没有则让输入生日,做记录
查看>>
爬虫综合大作业
查看>>
Kubernetes 运维学习笔记
查看>>
并查集 经典 畅通工程
查看>>
Spark MLlib 之 Naive Bayes
查看>>
php修改SESSION的有效生存时间
查看>>
spring security 11种过滤器介绍
查看>>
Hibernate一对多、多对一关联
查看>>