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

詳解MySql如何不插入重復(fù)數(shù)據(jù)

 更新時(shí)間:2023年01月17日 08:58:52   作者:蘇戲  
本文主要介紹了詳解MySql如何不插入重復(fù)數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

向數(shù)據(jù)庫的插入值時(shí),需要判斷插入是否重復(fù),然后插入。

這種操作怎么提高效率

下面說說一些解決方案

1、insert ignore into

當(dāng)插入數(shù)據(jù)時(shí),如出現(xiàn)錯(cuò)誤時(shí),如重復(fù)數(shù)據(jù),將不返回錯(cuò)誤,只以警告形式返回。所以使用ignore請(qǐng)確保語句本身沒有問題,否則也會(huì)被忽略掉。例如:

INSERT IGNORE INTO USER ( NAME )
VALUES ( '張三' );

這種方法很簡單,但是有一種可能插入不是因?yàn)橹貜?fù)數(shù)據(jù)報(bào)錯(cuò),而是因?yàn)槠渌驁?bào)錯(cuò)的,也同樣被忽略了~

2、on duplicate key update

當(dāng)primary 或者 unique重復(fù)時(shí),則執(zhí)行update語句;
當(dāng)update后為無用語句,如:id=id,錯(cuò)誤不會(huì)被忽略。

INSERT INTO USER ( NAME )
VALUES ( '張三' ) 
ON DUPLICATE KEY UPDATE id = id;

這種方法有個(gè)前提條件,就是需要約束條件,即,主鍵或者唯一約束。

3、insert ... select ... where not exist

根據(jù)select的條件判斷是否插入

INSERT INTO USER ( NAME ) 
SELECT '張三' FROM DUAL 
WHERE NOT EXISTS (SELECT id FROM USER WHERE id = 1)

這種方法其實(shí)就是使用mysql的一個(gè)臨時(shí)表的方式,但是里面使用子查詢,效率會(huì)有影響,能不使用盡量避免。

4、replace into

如果存在 primary 或者 unique 相同的記錄,則先刪除再插入新記錄。

REPLACE INTO USER SELECT 1, '張三' FROM USER

這種方法就是不管原來有沒有相同的記錄,都會(huì)先刪除再插入。

到此這篇關(guān)于詳解MySql如何不插入重復(fù)數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySql不插入重復(fù)數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

华容县| 碌曲县| 大兴区| 武鸣县| 共和县| 奉化市| 芦溪县| 玉山县| 拉孜县| 盐源县| 玉门市| 洱源县| 平原县| 通辽市| 慈利县| 吉木乃县| 罗定市| 安庆市| 保德县| 佛山市| 贺兰县| 伊金霍洛旗| 葵青区| 菏泽市| 新巴尔虎右旗| 柘荣县| 乡城县| 白朗县| 尉犁县| 黑河市| 上杭县| 岱山县| 嵊泗县| 天台县| 金溪县| 通江县| 九龙县| 县级市| 唐山市| 阿合奇县| 双柏县|