在MySQL資料庫中,這4種方式可以避免重複的插入資料!
最常見的方式就是為欄位設定主鍵或唯一索引,當插入重複資料時,丟擲錯誤,程式終止,但這會給後續處理帶來麻煩,因此需要對插入語句做特殊處理,儘量避開或忽略異常,下面我簡單介紹一下,感興趣的朋友可以嘗試一下:
這裡為了方便演示,我新建了一個user測試表,主要有id,username,sex,address這4個欄位,其中主鍵為id(自增),同時對username欄位設定了唯一索引:
01 insert ignore into
即插入資料時,如果資料存在,則忽略此次插入,前提條件是插入的資料欄位設定了主鍵或唯一索引,測試SQL語句如下,當插入本條資料時,MySQL資料庫會首先檢索已有資料(也就是idx_username索引),如果存在,則忽略本次插入,如果不存在,則正常插入資料:
02 on duplicate key update
即插入資料時,如果資料存在,則執行更新操作,前提條件同上,也是插入的資料欄位設定了主鍵或唯一索引,測試SQL語句如下,當插入本條記錄時,MySQL資料庫會首先檢索已有資料(idx_username索引),如果存在,則執行update更新操作,如果不存在,則直接插入:
03 replace into
即插入資料時,如果資料存在,則刪除再插入,前提條件同上,插入的資料欄位需要設定主鍵或唯一索引,測試SQL語句如下,當插入本條記錄時,MySQL資料庫會首先檢索已有資料(idx_username索引),如果存在,則先刪除舊資料,然後再插入,如果不存在,則直接插入:
04 insert if not exists
即insert into … select … where not exist ... ,這種方式適合於插入的資料欄位沒有設定主鍵或唯一索引,當插入一條資料時,首先判斷MySQL資料庫中是否存在這條資料,如果不存在,則正常插入,如果存在,則忽略:目前,就分享這4種MySQL處理重複資料的方式吧,前3種方式適合欄位設定了主鍵或唯一索引,最後一種方式則沒有此限制,只要你熟悉一下使用過程,很快就能掌握的,網上也有相關資料和教程,介紹的非常詳細,感興趣的話,可以搜一下。
相關文章
- mysql避免插入重複資料MySql
- MySql避免重複插入記錄的幾種方法MySql
- mybatis oracle資料庫批次插入資料,忽略主鍵重複MyBatisOracle資料庫
- Python操作MySQL資料庫的5種方式PythonMySql資料庫
- MySql資料庫備份的幾種方式MySql資料庫
- mongodb資料庫中插入資料MongoDB資料庫
- python資料插入連線MySQL資料庫PythonMySql資料庫
- mysql 刪除表中重複的資料MySql
- [MySQL光速入門]022 插入資料的兩種方式(番外)MySql
- mysql 清除重複資料MySql
- 多種方式讀取 MySQL 資料庫配置MySql資料庫
- MySQL 查詢重複的資料MySql
- MySQL 資料庫表格建立、資料插入及獲取插入的 ID:Python 教程MySql資料庫Python
- MySQL 資料庫定時備份的幾種方式MySql資料庫
- MySQL 處理重複資料MySql
- Mysql在資料插入後立即獲取插入的IdMySql
- php資料庫資料如何去除重複資料呢?PHP資料庫
- Firedac 在資料表中插入BLOB資料的方法
- 關於PHP往mysql資料庫中批次插入資料例項教程PHPMySql資料庫
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- 117 遠端連線mysql資料庫的幾種方式MySql資料庫
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- .NET 百萬級 大資料插入、更新 ,支援多種資料庫大資料資料庫
- 簡單介紹mysql中資料庫覆蓋匯入的幾種方式MySql資料庫
- 在FreeBSD中安裝MySQL資料庫MySql資料庫
- 高併發下如何避免產生重複資料?
- 如何避免重複性地做資料維護頁面?
- 資料庫批次插入這麼講究的麼?資料庫
- 4,MySQL資料庫的設計MySql資料庫
- 向資料庫中插入一條新的資料,並返回新增資料的ID資料庫
- python如何將資料插入資料庫Python資料庫
- Python 利用pymysql和openpyxl操作MySQL資料庫並插入Excel資料PythonMySql資料庫Excel
- MySQL資料庫中的四種隔離級別MySql資料庫
- 【Mysql】資料庫事務,髒讀、幻讀、不可重複讀MySql資料庫
- MySQL建立資料庫的兩種方法MySql資料庫
- 資料庫SQL調優的幾種方式資料庫SQL
- 有什麼工具可以上載複雜的 excel 資料填報到資料庫中Excel資料庫
- MySQL資料庫中timediff()函式,在瀚高資料庫中如何替換使用?MySql資料庫函式