最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql如何實(shí)現(xiàn)不存在則插入,存在則更新

 更新時(shí)間:2022年03月25日 09:25:55   作者:fukaiit  
這篇文章主要介紹了Mysql如何實(shí)現(xiàn)不存在則插入,存在則更新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

數(shù)據(jù)準(zhǔn)備

ON DUPLICATE KEY UPDATE

insert into test_table(id,username)
VALUES(4,'fukaiit')
ON DUPLICATE KEY UPDATE username='fukaiit'

執(zhí)行如上sql,該id不存在(此處id不存在,指的是id為X的記錄不存在,包括主鍵、unique索引列等情況),相當(dāng)于執(zhí)行了insert部分,普通插入,受影響的行:1。

insert into test_table(id,username)
VALUES(1,'fukaiit')
ON DUPLICATE KEY UPDATE username='fukaiit'

執(zhí)行如上sql,該id已存在,相當(dāng)于執(zhí)行了update部分,受影響的行:2。

執(zhí)行結(jié)果如下,注意只是更新username,是保留了email的。

REPLACE INTO … VALUES…

REPLACE INTO test_table(id,username)
VALUES(5,'fukaiit');

執(zhí)行如上sql,該id不存在,相當(dāng)于執(zhí)行了insert,普通插入,受影響的行:1。

REPLACE INTO test_table(id,username)
VALUES(1,'fukaiit');

執(zhí)行如上sql,該id已存在,相當(dāng)于執(zhí)行了刪除再插入的操作,受影響的行:2。

執(zhí)行結(jié)果如下,注意刪除后再插入是沒(méi)有email值的,所以此時(shí)email為null,注意與ON DUPLICATE KEY UPDATE的區(qū)別。

無(wú)論是insert on duplicate key update還是replace into,在插入時(shí)MySQL返回的影響行數(shù)就是插入的記錄數(shù),但是在更新時(shí)返回的影響行數(shù)是更新行數(shù)*2。

INSERT IGNORE INTO … VALUES…

INSERT IGNORE INTO test_table(id,username)?
values(6,'fukaiit');

執(zhí)行如上sql,該id不存在,相當(dāng)于執(zhí)行了insert,普通插入,受影響的行:1。

INSERT IGNORE INTO test_table(id,username)?
values(1,'fukaiit_new');

執(zhí)行如上sql,該id已存在,忽略了該插入操作,數(shù)據(jù)沒(méi)有變化,受影響的行:0。

使用DUAL虛表和NOT EXISTS

該方法與INSERT IGNORE INTO ... VALUES...方法的效果相同。

INSERT INTO test_table(id,username)
SELECT 7,'fukaiit' from DUAL?
where NOT EXISTS (select * from test_table where id=7);

執(zhí)行如上sql,該id不存在,select子句返回結(jié)果集為空,NOT EXISTS成立,相當(dāng)于執(zhí)行了insert,普通插入,受影響的行:1。

INSERT INTO test_table(id,username)
SELECT 2,'fukaiit' from DUAL?
where NOT EXISTS (select * from test_table where id=2);

執(zhí)行如上sql,該id已存在,select子句返回結(jié)果集不為空,NOT EXISTS不成立,則未執(zhí)行插入操作,數(shù)據(jù)沒(méi)有變化,受影響的行:0。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

新巴尔虎右旗| 自贡市| 庆阳市| 象州县| 龙川县| 平远县| 沛县| 光山县| 政和县| 泸水县| 黎城县| 休宁县| 清水河县| 新邵县| 宁河县| 临夏市| 论坛| 临猗县| 民权县| 浑源县| 涞源县| 上犹县| 江城| 徐闻县| 洛川县| 罗平县| 宣汉县| 宜兴市| 邛崃市| 卓尼县| 五指山市| 泗洪县| 洞头县| 巍山| 成武县| 广灵县| 滦南县| 扬州市| 神农架林区| 万荣县| 周口市|