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

MySQL插入數據insert?ignore語法重復數據自動忽略

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

前言

MySQL中插入數據,如果插入的數據在表中已經存在(主鍵或者唯一鍵已存在),使用insert ignore 語法可以忽略插入重復的數據。

1、insert ignore 語法

insert ignore into table_name values…

使用insert ignore語法插入數據時,如果發(fā)生主鍵或者唯一鍵沖突,則忽略這條插入的數據。

滿足以下條件之一:

  • 主鍵重復
  • 唯一鍵重復

2、insert ignore 案例

先看一張表,表名table_name,主鍵id,唯一鍵name,具體表結構及表中數據如下:

 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)插入的數據被忽略了。

mysql> select * from table_name;
+—-+——+——+
| id | name | age  |
+—-+——+——+
|  1 | Tom  |   20 |
+—-+——+——+

2.2 唯一鍵沖突

同樣,插入唯一鍵沖突的數據也會忽略,如下所示:

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è)務邏輯需要插入重復數據時自動忽略,不妨試試MySQL 的 insert ignore 功能。

總結

到此這篇關于MySQL插入數據insert ignore語法重復數據自動忽略的文章就介紹到這了,更多相關MySQL重復數據自動忽略內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • win10下mysql 8.0.13 安裝配置方法圖文教程

    win10下mysql 8.0.13 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了win10下mysql 8.0.13安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Oracle與MySQL的區(qū)別及優(yōu)缺點

    Oracle與MySQL的區(qū)別及優(yōu)缺點

    這篇文章主要介紹了Oracle與MySQL的區(qū)別及優(yōu)缺點,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參加一下
    2022-08-08
  • mysql用戶權限管理實例分析

    mysql用戶權限管理實例分析

    這篇文章主要介紹了mysql用戶權限管理,結合實例形式分析了mysql用戶權限管理概念、原理及用戶權限的查看、修改、刪除等操作技巧,需要的朋友可以參考下
    2020-04-04
  • 分析MySQL中索引引引發(fā)的CPU負載飆升的問題

    分析MySQL中索引引引發(fā)的CPU負載飆升的問題

    這篇文章主要介紹了分析MySQL中索引引引發(fā)的CPU負載飆升的問題,文中提到了獨立索引所帶來的巨大CPU負擔,以提醒在MySQL中使用索引要注意CPU負載的問題,需要的朋友可以參考下
    2015-05-05
  • mysql為字段添加和刪除唯一性索引(unique) 的方法

    mysql為字段添加和刪除唯一性索引(unique) 的方法

    下面小編就為大家?guī)硪黄猰ysql為字段添加和刪除唯一性索引(unique) 的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL存儲過程in、out和inout參數示例和總結

    MySQL存儲過程in、out和inout參數示例和總結

    這篇文章主要給大家介紹了關于MySQL存儲過程in、out和inout參數的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • mysql中general_log日志知識點介紹

    mysql中general_log日志知識點介紹

    這篇文章主要介紹了mysql中general_log日志知識點的介紹以及其他相關內容,以后興趣的朋友們學習下。
    2019-08-08
  • Mysql數據庫從5.6.28版本升到8.0.11版本部署項目時遇到的問題及解決方法

    Mysql數據庫從5.6.28版本升到8.0.11版本部署項目時遇到的問題及解決方法

    這篇文章主要介紹了Mysql數據庫從5.6.28版本升到8.0.11版本過程中遇到的問題及解決方法,解決辦法有三種,每種方法給大家介紹的都很詳細,感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-05-05
  • MySQL主鍵約束和外鍵約束詳解

    MySQL主鍵約束和外鍵約束詳解

    主鍵約束,說白了就是 not null + unique,主鍵也是在插入數據的時候先進行查詢,而 MySQL 則會對 unique,primary key 這樣的列自動的添加索引(后續(xù)介紹),來提高查詢的效率,這篇文章主要介紹了MySQL主鍵約束和外鍵約束,需要的朋友可以參考下
    2023-03-03
  • mysql 觸發(fā)器創(chuàng)建與使用方法示例

    mysql 觸發(fā)器創(chuàng)建與使用方法示例

    這篇文章主要介紹了mysql 觸發(fā)器創(chuàng)建與使用方法,結合實例形式分析了mysql 觸發(fā)器基本概念、原理、創(chuàng)建、使用方法及操作注意事項,需要的朋友可以參考下
    2020-05-05

最新評論