這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)MySQL中怎么防止重復(fù)插入數(shù)據(jù),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到衡水網(wǎng)站設(shè)計(jì)與衡水網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋衡水地區(qū)。
新建表格
CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主鍵', `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '姓名', `age` int NULL DEFAULT NULL COMMENT '年齡', `address` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '地址', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = Dynamic;
添加三條數(shù)據(jù)如下:
我們這邊可以根據(jù)插入方式進(jìn)行規(guī)避:
1. insert ignore
insert ignore 會(huì)自動(dòng)忽略數(shù)據(jù)庫(kù)已經(jīng)存在的數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷),如果沒(méi)有數(shù)據(jù)就插入數(shù)據(jù),如果有數(shù)據(jù)就跳過(guò)插入這條數(shù)據(jù)。
插入SQL如下: insert ignore into person (id,name,age,address) values(3,'那誰(shuí)',23,'甘肅省'),(4,'我的天',25,'浙江省');
再次查看數(shù)據(jù)庫(kù)就會(huì)發(fā)現(xiàn)僅插入id為4的數(shù)據(jù),由于數(shù)據(jù)庫(kù)中存在id為3的數(shù)據(jù)所以被忽略。
2. replace into
replace into 首先嘗試插入數(shù)據(jù)到表中, 1. 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù)。 2. 否則,直接插入新數(shù)據(jù)。
插入SQL如下: replace into person (id,name,age,address) values(3,'那誰(shuí)',23,'甘肅省'),(4,'我的天',25,'浙江省');
首先我們將表中數(shù)據(jù)恢復(fù),然后進(jìn)行插入操作后發(fā)現(xiàn)id為3的數(shù)據(jù)發(fā)生了改變同時(shí)新增了id為4的數(shù)據(jù)。
3. insert on duplicate key update
insert on duplicate key update 如果在insert into語(yǔ)句的末尾指定了on duplicate key update + 字段更新,則會(huì)在出現(xiàn)重復(fù)數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)的時(shí)候按照后面字段更新的描述對(duì)該信息進(jìn)行更新操作。
插入SQL如下: insert into person (id,name,age,address) values(3,'那誰(shuí)',23,'甘肅省') on duplicate key update name='那誰(shuí)', age=23, address='甘肅省';
首先我們將表中數(shù)據(jù)恢復(fù),然后在進(jìn)行插入操作時(shí),發(fā)現(xiàn)id為3的數(shù)據(jù)發(fā)生了改變,進(jìn)行了更新操作。
上述就是小編為大家分享的MySQL中怎么防止重復(fù)插入數(shù)據(jù)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章題目:MySQL中怎么防止重復(fù)插入數(shù)據(jù)
分享鏈接:http://www.rwnh.cn/article28/jgjpcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、服務(wù)器托管、全網(wǎng)營(yíng)銷(xiāo)推廣、用戶(hù)體驗(yàn)、建站公司、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)