mysql关于REPLACE使用说明

IGNORE INTO
有则忽略(判断的是主键值是否存在),无则插入。

示例:

INSERT IGNORE INTO user (id,user_name,is_test) VALUES ('1112','test1',0)
INSERT IGNORE user (id,user_name,is_test) VALUES ('1112','test1',0)

 

REPLACE INTO
有则删除再插入,无则插入。

示例:

REPLACE user (id,user_name) VALUES ('1113','test3')

REPLACE INTO user (id,user_name) VALUES ('1113','test3')

 

ON DUPLIACATE KEY UPDATE
有则更新,无则插入。单个增加、更新及批量增加、更新的SQL。如果主键数据不存在则执行ON DUPLICATE KEY之前的SQL,否则执行ON DUPLICATE KEY后面的UPDATE SQL,UPDATE WHERE条件为INSERT主键值。

示例:

INSERT INTO user (id,user_name,is_test) VALUES ('1114','test4',0) ON DUPLICATE KEY UPDATE is_test=1

等同于:
UPDATE user SET is_test=1 WHERE id='1114'

 

INSERT INTO user (id,user_name,is_test) VALUES ('1115','test5',0),('1116','test6',1) ON DUPLICATE KEY UPDATE user_name='test55'

 

posted on 2022-02-15 11:09  barryzhou  阅读(112)  评论(0编辑  收藏  举报

导航