前几天遇到个新需求,需要不定时将数据导入 MySQL 数据库。既然是数据导入,就会牵扯到数据重复导入和数据导入失败问题。 1.在解决数据重复导入问题上 方案 1:使用原生 sql,利用临时表进行去重后,数据合入原表。首先临时表重复数据去重:使用 select distinct, 然后在合入原表时再使用 insert into tablename(col1, col2, col3...) select col1, col2, col3... from template_tablename where not exists(select col1, col2, col3 from tablename where tablename.col1 = col1 and tablename.col2=col2 and tablename.col3=col3) 进行二次去重,即可达到去重效果。 方案 2:使用 sqlalchmy 方式去重,查询判断表中不存在当前条数据即插入,多条数据,则需要考虑分批插入。 2.数据导入数据库失败: 方案 1:在导入前进行数据规则校验,并在导入后进行查询,如果存在,则跳过,不存在就记录并尝试重新导入。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.