为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL INSERT插入条件判断:如果不存在则插入

MySQL INSERT插入条件判断:如果不存在则插入

hhhzihao2 2016-11-21 14:30:24
这是 table :id        name        num1         aa             122         bb            34这是语句 :inser into table( name, num ) value ( aa , 12 ) , ( bb , 56 ) , ( cc , 34 ) ;我希望得到的结果是 :id        name        num1        aa              122        bb             343        bb             564        cc              34语句应该怎么写 ? 一句话可以搞定吗 ?
查看完整描述

4 回答

?
tqinglei2015

TA贡献3条经验 获得超3个赞

name,num做联合主键,可以使用insert ignore into
查看完整回答
3 反对 回复 2016-11-21
?
qq_HappyEnding

TA贡献3条经验 获得超0个赞

。。。

查看完整回答
反对 回复 2016-11-22
?
慕田峪3555374

TA贡献137条经验 获得超18个赞

改前:

INSERT INTO table(field1, field2, fieldn) SELECT 'field1', 'field2', 'fieldn' FROM DUAL WHERE NOT EXISTS(SELECT field FROM table WHERE field = ?)
DUAL 是一个临时表,不需要物理创建,这么用即可

改后:

INSERT INTO card(cardno, cardnum) SELECT '111', '100' FROM DUAL WHERE NOT EXISTS(SELECT cardno FROM card WHERE cardno = '111');

查看完整回答
反对 回复 2016-11-22
?
苍穹全栈

TA贡献4条经验 获得超0个赞

完全可以在sql之前判断

查看完整回答
反对 回复 2016-11-21
?
MaxJin

TA贡献4条经验 获得超1个赞

可以啊,主要看你name有没有设为唯一性

查看完整回答
反对 回复 2016-11-21
  • 4 回答
  • 2 关注
  • 5678 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信