数据库: MySQL
我有一个临时表,其中所有传入的数据都是从CSV文件加载的。我有一个主表,其中的数据是从临时表转移过来的。现在,我需要检查临时表中的任何行是否已经存在于主表中。如果存在,我需要更新主表中的数据,否则,我需要将该行插入到主表中。
对我来说,这里的问题是临时表中没有pk列,这样我就可以知道在临时表和主表之间比较哪一行。
有没有办法检查已经存在的没有主键的行?不能保证任何列都是唯一的。
请帮帮我。
发布于 2013-11-06 18:28:50
把决定权留给主表。
来自MySQL文档
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]所以如果你做INSERT INTO yourMasterTable SELECT fromYourTempTable ON DUPLICATE KEY ...将满足您的需求
https://stackoverflow.com/questions/19804749
复制相似问题