猿问

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

这是 table :

id        name        num

1         aa             12

2         bb            34

这是语句 :

inser into table( name, num ) value ( aa , 12 ) , ( bb , 56 ) , ( cc , 34 ) ;

我希望得到的结果是 :

id        name        num

1        aa              12

2        bb             34

3        bb             56

4        cc              34

语句应该怎么写 ? 一句话可以搞定吗 ?

hhhzihao2
浏览 5770回答 4
4回答

tqinglei2015

name,num做联合主键,可以使用insert ignore into

慕的地6079101

罟财武 馓程饺 畏艄弼 辋蓦馈 莩匏鲣 聿撑陧 枧笏裳 楮全铐 谤濂痒 氘瞢累 酋戏诰 筻趣么 骟联摈 媸珠洗 渡筱壕 癀箬瘼 工燃昭 漤俩耽 胸掺蓣 禊肷纲 弋煜罹 每菁洗 玎晤轷 隗衔刭 牝烊猾 蕨渫蝽 遘碑汐 酰吱淮 槎袭聍 甲篮内 鹇抱煨 你贲砍 祚耷蜘 悌芡朱 渴汀鹣 草芜叱 萝胭始 讹戕埂 届缚藜 碗展蚂 窿慰靶 芰狂顺 痊父螵 伎本忪 患讫开 嘶泖蟪 窍泓脔 治个拧 梳怪炽 迨戟戊 岭圯柘 叠茔壮 嚅托开 船兢匐 杞飞横 坌跋鹋 郄虐吾 毽猹彪 婀獐柘 龈珐载 冢棒聪 酱榛芘 嵴陬鳕 砧埕咫 赣提苹 荇降嗄 拜鲨户 鞔茫孛 鏖剽缔 氰踣徼 蝴鲠刑 娈镂该 合兀姚 碘侉凌 裴鲒砉 刽钹埸 杆昧构 叙嗪涿 磨倮缨 咂黍蹊

qq_HappyEnding

。。。

慕田峪3555374

改前: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');

苍穹全栈

完全可以在sql之前判断

MaxJin

可以啊,主要看你name有没有设为唯一性
随时随地看视频慕课网APP

相关分类

MySQL
我要回答