Oracle存在即更新,不存在即插入方案(MySQL)
在MySQL中,可以使用INSERT INTO ... ON DUPLICATE KEY UPDATE
语句来实现Oracle的"存在即更新、不存在即插入"的需求。这个语法需要你的表中有一个唯一索引或主键,当尝试插入的数据存在(违反了唯一性约束)时,MySQL会执行更新操作,否则会执行插入操作。
以下是一个示例:
假设有一个表example
,其中id
是主键或唯一索引,并且有两列id
和data_field
。
INSERT INTO example (id, data_field)
VALUES (1, 'new data')
ON DUPLICATE KEY UPDATE
data_field = 'new data';
在这个例子中,如果id
为1的记录已经存在,MySQL将执行更新操作,将id
为1的记录的data_field
列更新为'new data'
。如果记录不存在,将执行插入操作,插入一条新的记录。
评论已关闭