INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO 和 INSERT IGNORE INTO

本文详细介绍了MySQL中的INSERT INTO ON DUPLICATE KEY UPDATE、INSERT IGNORE INTO和INSERT DELAYED INTO的区别和使用场景。重点讨论了ON DUPLICATE KEY UPDATE如何在插入时更新指定列,以及其与IGNORE的区别。
摘要由CSDN通过智能技术生成
1、REPLACE INTO发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空。

2、INSERT INTO ON DUPLICATE KEY UPDATE发现重复的是更新操作。在原有记录基础上,更新指定字段内容,其它字段内容保留。

3、INSERT IGNORE INTO 发现存在则忽略本条,不再插入数据。



INSERT语法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

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

       VALUES ({expr | DEFAULT},...),(...),...

       [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

或:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

       [INTO] tbl_name

       SET col_name={expr | DEFAULT}, ...

       [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

或:

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]

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

       SELECT ...

       [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]



一、DELAYED 的使用

     使用延迟插入操作

DELAYED调节符应用于INSERT和REPLACE语句。当DELAYED插入操作到达的时候,

服务器把数据行放入一个队列中,并立即给客户端返回一个状态信息,这样客户

端就可以在数据表被真正地插入记录之前继续进行操作了。如果读取者从该数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值