MySQL插入數(shù)據(jù)insert?ignore語法重復(fù)數(shù)據(jù)自動忽略
前言
MySQL中插入數(shù)據(jù),如果插入的數(shù)據(jù)在表中已經(jīng)存在(主鍵或者唯一鍵已存在),使用insert ignore 語法可以忽略插入重復(fù)的數(shù)據(jù)。
1、insert ignore 語法
insert ignore into table_name values…
使用insert ignore語法插入數(shù)據(jù)時,如果發(fā)生主鍵或者唯一鍵沖突,則忽略這條插入的數(shù)據(jù)。
滿足以下條件之一:
- 主鍵重復(fù)
- 唯一鍵重復(fù)
2、insert ignore 案例
先看一張表,表名table_name,主鍵id,唯一鍵name,具體表結(jié)構(gòu)及表中數(shù)據(jù)如下:
CREATE TABLE table_name( id int(11) NOT NULL, name varchar(50) DEFAULT NULL, age int(11) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY uk_name (name) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> select * from table_name; +----+------+------+ | id | name | age | +----+------+------+ | 1 | Tom | 20 | +----+------+------+
2.1 主鍵沖突
插入一條記錄,id為1,如果不加 ignore ,報主鍵沖突的錯誤,如下:
mysql> insert into table_name values(1,'Bill', 21); ERROR 1062 (23000): Duplicate entry ‘1' for key ‘PRIMARY'
加上ignore之后,不會報錯,但有一個warning警告,如下:
mysql> insert ignore into table_name values(1,'Bill', 21); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> show warnings; +———+——+—————————————+ | Level | Code | Message | +———+——+—————————————+ | Warning | 1062 | Duplicate entry ‘1' for key ‘PRIMARY' | +———+——+—————————————+
查詢表,發(fā)現(xiàn)插入的數(shù)據(jù)被忽略了。
mysql> select * from table_name; +—-+——+——+ | id | name | age | +—-+——+——+ | 1 | Tom | 20 | +—-+——+——+
2.2 唯一鍵沖突
同樣,插入唯一鍵沖突的數(shù)據(jù)也會忽略,如下所示:
mysql> insert into table_name values(2,'Tom',21); ERROR 1062 (23000): Duplicate entry ‘Tom' for key ‘uk_name' mysql> insert ignore into table_name values(2,'Tom',21); Query OK, 0 rows affected, 1 warning (0.00 sec)
如果業(yè)務(wù)邏輯需要插入重復(fù)數(shù)據(jù)時自動忽略,不妨試試MySQL 的 insert ignore 功能。
總結(jié)
到此這篇關(guān)于MySQL插入數(shù)據(jù)insert ignore語法重復(fù)數(shù)據(jù)自動忽略的文章就介紹到這了,更多相關(guān)MySQL重復(fù)數(shù)據(jù)自動忽略內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL中LAST_INSERT_ID()函數(shù)的實現(xiàn)
本文主要介紹了MySQL中LAST_INSERT_ID()函數(shù)的作用和使用方法,LAST_INSERT_ID()函數(shù)用于返回上一次INSERT操作生成的自增ID,對于需要獲取新插入記錄的主鍵的場景非常重要,感興趣的可以了解一下2024-10-10mysql zip archive 版本(5.7.19)安裝教程詳細(xì)介紹
這篇文章主要介紹了mysql zip archive 版本(5.7.19)安裝教程詳細(xì)介紹,需要的朋友可以參考下2017-10-10