mysql中replace into與insert into區(qū)別
replace into 遇到主鍵或唯一索引沖突時(shí),會(huì)先刪除數(shù)據(jù),再插入新數(shù)據(jù)
insert into 遇到主鍵或唯一索引沖突時(shí),會(huì)直接報(bào)錯(cuò),不插入數(shù)據(jù)
案例:
新建一個(gè)test表,三個(gè)字段,id,title,uid, id是自增的主鍵,uid是唯一索引;
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL, `uid` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `sss` (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
插入2條數(shù)據(jù)
insert into test(title,uid) VALUES ('張三','001'); insert into test(title,uid) VALUES ('張三','002');
使用 insert into插入數(shù)據(jù)時(shí),報(bào)錯(cuò)
insert into test(title,uid) VALUES ('李四','001');
使用 replace into插入數(shù)據(jù)時(shí):
replace into test(title,uid) VALUES ('李四','001');
replace into 跟 insert 功能類似,不同點(diǎn)在于:replace into 首先嘗試插入數(shù)據(jù)到表中, 1. 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù)。 2. 否則,直接插入新數(shù)據(jù)。
要注意的是:插入數(shù)據(jù)的表必須有主鍵或者是唯一索引!否則的話,replace into 會(huì)直接插入數(shù)據(jù),這將導(dǎo)致表中出現(xiàn)重復(fù)的數(shù)據(jù)。
到此這篇關(guān)于mysql中replace into與insert into區(qū)別的文章就介紹到這了,更多相關(guān)mysql replace into與insert into內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL的MRR(Multi-Range Read)優(yōu)化原理解析
MRR優(yōu)化是MySQL中一種重要的查詢優(yōu)化技術(shù),它通過(guò)減少磁盤I/O的隨機(jī)性和提高緩存效率,顯著提升了查詢性能,這篇文章主要介紹了MySQL的MRR(Multi-Range Read)優(yōu)化原理詳解,需要的朋友可以參考下2024-08-08GDB調(diào)試Mysql實(shí)戰(zhàn)之源碼編譯安裝
今天小編就為大家分享一篇關(guān)于GDB調(diào)試Mysql實(shí)戰(zhàn)之源碼編譯安裝,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02教您修復(fù)mysql數(shù)據(jù)庫(kù)的方法
你可能在使用MySQL過(guò)程中,各種意外導(dǎo)致數(shù)據(jù)庫(kù)表的損壞,而且這些數(shù)據(jù)往往是最新的數(shù)據(jù),通常不可能在備份數(shù)據(jù)中找到。本章將繼上篇文章中檢查出表的問(wèn)題后,告訴你如何修復(fù)表2014-05-05Mysql數(shù)據(jù)庫(kù)監(jiān)聽(tīng)binlog的開(kāi)啟步驟
這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫(kù)監(jiān)聽(tīng)binlog的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Mac OS下PHP環(huán)境搭建及PHP操作MySQL常用方法小結(jié)
MAMP從名字上也可以看出來(lái),是Mac OS的Apache+MySQL+PHP的集成環(huán)境包,本文就來(lái)簡(jiǎn)單說(shuō)一下Mac OS下PHP環(huán)境搭建及PHP操作MySQL的常用方法小結(jié).2016-05-05MySQL group by對(duì)單字分組序和多字段分組的方法講解
今天小編就為大家分享一篇關(guān)于MySQL group by對(duì)單字分組序和多字段分組的方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03MySQL數(shù)據(jù)表使用的SQL語(yǔ)句整理
這篇文章主要介紹了MySQL數(shù)據(jù)表使用的SQL語(yǔ)句整理,文章基于MySQL的相關(guān)資料展開(kāi)舉例說(shuō)明,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05