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

mysql插入重復(fù)數(shù)據(jù)的處理(DUPLICATE、IGNORE、REPLACE)

 更新時(shí)間:2023年09月05日 10:00:21   作者:牟云飛  
這篇文章主要介紹了mysql插入重復(fù)數(shù)據(jù)的處理方式(DUPLICATE、IGNORE、REPLACE),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql插入重復(fù)數(shù)據(jù)的三種處理方式

1、插入或者更新  DUPLICATE

“INSERT   ...  ON  DUPLICATE   KEY  UPDATE   ”,

它是在插入操作時(shí),如果數(shù)據(jù)出現(xiàn)重復(fù),則更新重復(fù)數(shù)據(jù)的值。 

示例:

INSERT INTO myf_deal_data ( `ID`, `PTNAME`, `PTDATA`, `OPERTIME`, `REPORTTIME` )
VALUES
    ( 111, '858_Ua', '219.1000', '2022-04-01 00:45:00', '2022-06-28 10:04:52' ) 
ON DUPLICATE KEY UPDATE PTDATA = '219.9000',REPORTTIME = NOW()

示例解釋:

這條語句意味著,如果myf_deal_data表,存在id為111的數(shù)據(jù),那么就將更新PTDATA 和REPORTTIME 的值

需要權(quán)限:insert、update

影響行數(shù):2行

注意:多線程并發(fā)會(huì)導(dǎo)致死鎖的可能。

2、插入或者丟棄  IGNORE  

“  INSERT  IGNORE  INTO ..  VALUES   ”的用法

是在插入操作時(shí),如果數(shù)據(jù)出現(xiàn)重復(fù),則忽略這個(gè)操作,不會(huì)報(bào)錯(cuò),但也不會(huì)插入重復(fù)的數(shù)據(jù)。

示例:

INSERT IGNORE INTO myf_deal_data ( `ID`, `PTNAME`, `PTDATA`, `OPERTIME`, `REPORTTIME` )
VALUES
? ? ( 111, '858_Ua', '219.1000', '2022-04-01 00:45:00', '2022-06-28 10:04:52' )?

示例解釋:

向myf_deal_data 表插入數(shù)據(jù),如果myf_deal_data 表的主鍵字段( ID 字段)已經(jīng)存在 111這個(gè)值,那么這條語句就會(huì)被忽略,不會(huì)插入數(shù)據(jù),也不會(huì)報(bào)錯(cuò)。

需要權(quán)限:insert

影響行數(shù):0行

3、插入或者替換  REPLACE 

“  REPLACE INTO ...  VALUES   ”的用法

是在插入操作時(shí),如果不存在插入數(shù)據(jù),如果數(shù)據(jù)出現(xiàn)重復(fù),則更新數(shù)據(jù)(與DUPLICATE不同,需要的是insert、delete權(quán)限,是先刪除后新增)。

示例:

REPLACE INTO ?myf_deal_data ( `ID`, `PTNAME`, `PTDATA`, `OPERTIME`, `REPORTTIME` )
VALUES
? ? ( 58261907, '858_Ua', '219.1000', '2022-04-01 00:45:00', '2022-06-28 10:04:52' )?

示例解釋:

向myf_deal_data 表插入數(shù)據(jù),如果myf_deal_data 表的主鍵字段( ID 字段)已經(jīng)存在 111這個(gè)值,那么這條語句就會(huì)被忽略,不會(huì)插入數(shù)據(jù),也不會(huì)報(bào)錯(cuò)。

需要權(quán)限:insert、delete

影響行數(shù):2行   (先刪除,再新增)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論