Mysql实现无插入有更新(不知主键的情况下)

Posted change_4_now

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql实现无插入有更新(不知主键的情况下)相关的知识,希望对你有一定的参考价值。

网上很多资料说有两种方式 (必须现有唯一键)

1.INSERT 中ON DUPLICATE KEY UPDATE的使用

2.REPLACE的使用  

 

通过可以得出结果:

如果a和b字段 能决定唯一

例子:

REPLACE INTO tb(id,a,b,c,d)
SELECT  IFNULL( (SELECT id from tb where (a=‘2017-08-31 08:10:00‘ and b=11001) LIMIT 1),0) id,‘2017-08-31 08:10:00‘,11001,10,10 ;










以上是关于Mysql实现无插入有更新(不知主键的情况下)的主要内容,如果未能解决你的问题,请参考以下文章

谈谈mysql的主键和外键

Mysql——UPDATE操作对应的undo日志

如何在不明确指定主键的情况下使用 Dapper Extensions 将对象插入 PostGreSql?

关于mybatis用mysql时,插入返回自增主键的问题

如何在没有主键的情况下从 mySQL 中的两个表中获取不常见的记录

mysql 存储过程 若主键冲突则更新,不冲突则插入数据