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

mysql insert if not exists防止插入重復(fù)記錄的方法

 更新時(shí)間:2011年04月23日 22:31:03   作者:  
在 MySQL 中,插入(insert)一條記錄很簡(jiǎn)單,但是一些特殊應(yīng)用,在插入記錄前,需要檢查這條記錄是否已經(jīng)存在,只有當(dāng)記錄不存在時(shí)才執(zhí)行插入操作,本文介紹的就是這個(gè)問(wèn)題的解決方案。
MySQL 當(dāng)記錄不存在時(shí)插入(insert if not exists)
在 MySQL 中,插入(insert)一條記錄很簡(jiǎn)單,但是一些特殊應(yīng)用,在插入記錄前,需要檢查這條記錄是否已經(jīng)存在,只有當(dāng)記錄不存在時(shí)才執(zhí)行插入操作,本文介紹的就是這個(gè)問(wèn)題的解決方案。

在 MySQL 中,插入(insert)一條記錄很簡(jiǎn)單,但是一些特殊應(yīng)用,在插入記錄前,需要檢查這條記錄是否已經(jīng)存在,只有當(dāng)記錄不存在時(shí)才執(zhí)行插入操作,本文介紹的就是這個(gè)問(wèn)題的解決方案。

問(wèn)題:我創(chuàng)建了一個(gè)表來(lái)存放客戶信息,我知道可以用 insert 語(yǔ)句插入信息到表中,但是怎么樣才能保證不會(huì)插入重復(fù)的記錄呢?

答案:可以通過(guò)使用 EXISTS 條件句防止插入重復(fù)記錄。
示例一:插入多條記錄
假設(shè)有一個(gè)主鍵為 client_id 的 clients 表,可以使用下面的語(yǔ)句:
復(fù)制代碼 代碼如下:

INSERT INTO clients
(client_id, client_name, client_type)
SELECT supplier_id, supplier_name, 'advertising'
FROM suppliers
WHERE not exists (select * from clients
where clients.client_id = suppliers.supplier_id);

示例一:插入單條記錄
復(fù)制代碼 代碼如下:

INSERT INTO clients
(client_id, client_name, client_type)
SELECT 10345, 'IBM', 'advertising'
FROM dual
WHERE not exists (select * from clients
where clients.client_id = 10345);

使用 dual 做表名可以讓你在 select 語(yǔ)句后面直接跟上要插入字段的值,即使這些值還不存在當(dāng)前表中。

相關(guān)文章

  • MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法

    MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法

    這篇文章主要給大家介紹了關(guān)于MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-12-12
  • Mysql事物鎖等待超時(shí)Lock wait timeout exceeded;的解決

    Mysql事物鎖等待超時(shí)Lock wait timeout exceeded;的解決

    本文主要介紹了Mysql事物鎖等待超時(shí)Lock wait timeout exceeded;的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 解決MySQL8.0報(bào)錯(cuò)Client does not support authentication protocol requested by server...問(wèn)題

    解決MySQL8.0報(bào)錯(cuò)Client does not support auth

    本文主要介紹了解決MySQL8.0報(bào)錯(cuò)Client does not support authentication protocol requested by server...問(wèn)題,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • MySQL 復(fù)制表的方法

    MySQL 復(fù)制表的方法

    這篇文章主要介紹了MySQL 復(fù)制表的方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • MySql?explain命令返回結(jié)果詳細(xì)介紹

    MySql?explain命令返回結(jié)果詳細(xì)介紹

    explain?是MySql提供的SQL語(yǔ)句查詢性能的工具,是我們優(yōu)化SQL的重要指標(biāo)手段,要看懂explain返回的結(jié)果集就尤為重要,這篇文章主要介紹了MySql?explain命令返回結(jié)果解讀,需要的朋友可以參考下
    2023-09-09
  • MySQL檢索數(shù)據(jù)操作方法梳理

    MySQL檢索數(shù)據(jù)操作方法梳理

    SELECT語(yǔ)句是SQL中最常用的語(yǔ)句。它的用途是從一個(gè)或多個(gè)表中檢索信息。為了使用SELECT檢索表數(shù)據(jù),必須至少給出兩條信息:想選擇什么、從什么地方選擇
    2022-10-10
  • linux mysql 報(bào)錯(cuò):MYSQL:The server quit without updating PID file

    linux mysql 報(bào)錯(cuò):MYSQL:The server quit&nbs

    mysql 報(bào)錯(cuò):MYSQL:The server quit without updating PID file。以下是可能的原因與解決方法
    2013-02-02
  • 詳解數(shù)據(jù)庫(kù)語(yǔ)言中的null值

    詳解數(shù)據(jù)庫(kù)語(yǔ)言中的null值

    這篇文章主要詳解了數(shù)據(jù)庫(kù)語(yǔ)言中的null值,針對(duì)MySQL上的實(shí)例進(jìn)行講解,需要的朋友可以參考下
    2015-04-04
  • 云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟

    云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟

    在當(dāng)前的互聯(lián)網(wǎng)時(shí)代,云計(jì)算已經(jīng)成為重要的平臺(tái)支撐,本文就來(lái)介紹一下云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • insert...on?duplicate?key?update語(yǔ)法詳解

    insert...on?duplicate?key?update語(yǔ)法詳解

    本文主要介紹了insert...on?duplicate?key?update語(yǔ)法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論