不存在時才插入資料

2021-09-21 21:55:40 字數 515 閱讀 6488

最近在寫乙個專案,需要批量向資料庫插入資料(批處理)。但是遇到乙個問題,如果某條資料已存在(主鍵相同),則全部插入都會失敗。所以,我需要找到乙個方法 :如果資料不存在,就插入,否則就忽略。

在網上找到一篇文章:

文章介紹了兩種方法,第一種略顯複雜,且子查詢的效率也是個問題,而且子查詢中不能用limit(當然也有解決方法);第二種就不太合適了,因為我要的是忽略而不是更新。

查了下mysql insert的語法,

[into] tbl_name [(col_name,...)]

values (,...),(...),...

[

on duplicate key updatecol_name=expr, ... ]

發現有種寫法是網上很少有人提到的:「insert ignore into「,這種寫法非常簡潔,而且完全符和我的要求。

sql 存在更新,不存在插入

1 語法 if exists select from users where name 張三 print 1 else print 02 建表語句 create table dbo users id int not null identity 1,1 name varchar 50 null var...

MySQL 當記錄不存在時插入,當記錄存在時更新

第一種 示例一 插入多條記錄 假設有乙個主鍵為 client id 的 clients 表,可以使用下面的語句 insert into clients client id client name client type select supplier id supplier name,adverti...

遠端mysql時提示表不存在 表不存在MySQL

我已按照所有步驟操作,一切正常,直到我完成步驟 在命令列中輸入以下命令 create database arc logon create database arc characters create database arc world 這不是確切的地點,但在導遊要求我之後不久 mysql u ro...