在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
- mysql 忽略主鍵衝突、避免重複插入的幾種方式MySql
- MySql避免重複插入記錄的幾種方法MySql
- mybatis oracle資料庫批次插入資料,忽略主鍵重複MyBatisOracle資料庫
- MySQL資料庫行去重複和列去重複MySql資料庫
- mongodb資料庫中插入資料MongoDB資料庫
- mysql 刪除表中重複的資料MySql
- MySql資料庫備份的幾種方式MySql資料庫
- mysql 清除重複資料MySql
- Python操作MySQL資料庫的5種方式PythonMySql資料庫
- 在ASP.NET中,向資料庫批次插入資料 (轉)ASP.NET資料庫
- MySQL 查詢重複的資料MySql
- 多種方式讀取 MySQL 資料庫配置MySql資料庫
- python資料插入連線MySQL資料庫PythonMySql資料庫
- MySQL 處理重複資料MySql
- MySQL刪除重複資料MySql
- mysql查詢表裡的重複資料方法和刪除重複資料MySql
- 在SQL Server資料庫中匯入MySQL資料庫Server資料庫MySql
- php資料庫資料如何去除重複資料呢?PHP資料庫
- [資料庫] Navicat for MySQL換種思維解決插入同時更新資料資料庫MySql
- Firedac 在資料表中插入BLOB資料的方法
- MySQL中如何批次插入資料MySql
- MySQL 資料庫定時備份的幾種方式MySql資料庫
- 連線MySQL資料庫的兩種方式介紹MySql資料庫
- Mysql在資料插入後立即獲取插入的IdMySql
- 分散式資料庫如何控制資料重複 ?分散式資料庫
- 關於PHP往mysql資料庫中批次插入資料例項教程PHPMySql資料庫
- 資料庫複製方式進行資料庫恢復資料庫
- [MySQL光速入門]022 插入資料的兩種方式(番外)MySql
- iOS儲存資料的4種方式iOS
- MySQL 資料庫表格建立、資料插入及獲取插入的 ID:Python 教程MySql資料庫Python
- 在Oracle中實現資料庫的複製Oracle資料庫
- MySQL資料庫中刪除重複記錄的方法總結[推薦]MySql資料庫
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- 如何避免重複性地做資料維護頁面?
- 高併發下如何避免產生重複資料?
- mysql 查詢及 刪除表中重複資料MySql