有一批数据入库,如果数据存在就直接更新,否则插入。网上找了都是用的ON DUPLICATE KEY UPDATE
或者replace into
这种,这样的只能在unique字段下才可以,但是我这里不一样,需要类似于where条件的,比如满足在某时间段则更新,否则插入。有没有一个高效一点的方法?用程序循环跑明显不太现实。。。
有一批数据入库,如果数据存在就直接更新,否则插入。网上找了都是用的ON DUPLICATE KEY UPDATE
或者replace into
这种,这样的只能在unique字段下才可以,但是我这里不一样,需要类似于where条件的,比如满足在某时间段则更新,否则插入。有没有一个高效一点的方法?用程序循环跑明显不太现实。。。
4 回答1.2k 阅读✓ 已解决
8 回答1.2k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答824 阅读✓ 已解决
1 回答903 阅读✓ 已解决
2 回答1.7k 阅读
带
where
的没有现成语法,即使是 Postgresql 这种级别的也没有,更别说 MySQL 了。要直接解决这个问题,只能自己写代码,不管你是在应用中写,还是在数据库中定义一个存储过程。
MySQL 单表数据撑爆百万级,已存在的数据全取出来在应用中自己创建索引,用来判断是更新还是插入,没什么不现实的。