我们在插入数据的时候经常遇到这样的 情况,如果这条数据在数据库中有就更新、没有就插入。
比如,我们现在有这样一张表(type_id 是唯一标识列):

- 先插入一条

- 重复插入时失败

- 重复时替换的处理
其中,type_id 是唯一标识列,当出现 type_id 重复的数据时,我们替换掉表中的数据,SQL 的写法:
Replace into worktype
(type_id ,type_name)
values (301,"测试01");


- Replace into
我们可以通过在表中创建唯一索引(UNIQUE),并且利用 Replace 达到 Insert OR Update 的目的。
就像上面的 这个SQL语句,当表中 没有type_id 重复的时候,它就会 变成 Insert 语句 ,执行插入操作;
如果 表中 有type_id 重复的数据,它就会 变成 Update语句 ,执行更新操作。
网友评论