欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL插入數(shù)據(jù)insert?ignore語法重復(fù)數(shù)據(jù)自動忽略

 更新時間:2023年08月19日 09:50:14   作者:無敵的黑星星  
這篇文章主要給大家介紹了關(guān)于MySQL插入數(shù)據(jù)insert?ignore語法重復(fù)數(shù)據(jù)自動忽略的相關(guān)資料,最近工作中使用到了insert ignore into語法,感覺這個語法還是挺有用的,就記錄下來做個總結(jié),需要的朋友可以參考下

前言

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ù)的實現(xiàn)

    本文主要介紹了MySQL中LAST_INSERT_ID()函數(shù)的作用和使用方法,LAST_INSERT_ID()函數(shù)用于返回上一次INSERT操作生成的自增ID,對于需要獲取新插入記錄的主鍵的場景非常重要,感興趣的可以了解一下
    2024-10-10
  • 解壓版MYSQL安裝及遇到的錯誤及解決方法

    解壓版MYSQL安裝及遇到的錯誤及解決方法

    這篇文章主要介紹了解壓版MYSQL安裝及遇到的錯誤及解決方法,需要的朋友可以參考下
    2018-11-11
  • Mysql查詢時間區(qū)間日期列表實例代碼

    Mysql查詢時間區(qū)間日期列表實例代碼

    最近常用到mysql的日期范圍搜索,下面這篇文章主要給大家介紹了關(guān)于Mysql查詢時間區(qū)間日期列表的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 為什么mysql自增主鍵不是連續(xù)的

    為什么mysql自增主鍵不是連續(xù)的

    在面試中被提問,mysql 中的 user 表的 id 默認(rèn)是自增的,但是數(shù)據(jù)庫存儲的結(jié)果卻不是連續(xù)的,你知道是什么原因嗎,本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-09-09
  • MySQL infobright的安裝步驟

    MySQL infobright的安裝步驟

    這篇文章主要介紹了MySQL infobright的安裝步驟,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-04-04
  • MySQL死鎖解析與解決方法

    MySQL死鎖解析與解決方法

    在數(shù)據(jù)庫管理中,死鎖是一種常見而又棘手的問題,當(dāng)多個事務(wù)相互等待對方釋放鎖資源時,死鎖就會發(fā)生,本文將介紹MySQL中死鎖產(chǎn)生的原因、如何查詢死鎖,以及解決死鎖的方法,需要的朋友可以參考下
    2024-01-01
  • Mysql表批量添加字段一些示例代碼

    Mysql表批量添加字段一些示例代碼

    這篇文章主要給大家介紹了關(guān)于Mysql表批量添加字段的相關(guān)資料,在MySQL中可以使用ALTER TABLE語句來批量添加字段,下面這篇文章通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • mysql zip archive 版本(5.7.19)安裝教程詳細(xì)介紹

    mysql zip archive 版本(5.7.19)安裝教程詳細(xì)介紹

    這篇文章主要介紹了mysql zip archive 版本(5.7.19)安裝教程詳細(xì)介紹,需要的朋友可以參考下
    2017-10-10
  • mysql優(yōu)化limit查詢語句的5個方法

    mysql優(yōu)化limit查詢語句的5個方法

    這篇文章主要介紹了mysql優(yōu)化limit查詢語句的5個方法,它們分別是子查詢優(yōu)化法、倒排表優(yōu)化法、反向查找優(yōu)化法、limit限制優(yōu)化法和只查索引法,需要的朋友可以參考下
    2014-07-07
  • Navicat使用報2059錯誤的兩種解決方案

    Navicat使用報2059錯誤的兩種解決方案

    Navicat是一款流行的數(shù)據(jù)庫管理工具,而MySQL則是其中的一種數(shù)據(jù)庫軟件,下面這篇文章主要給大家介紹了關(guān)于Navicat使用報2059錯誤的兩種解決方案,需要的朋友可以參考下
    2023-11-11

最新評論