最近使用kettle将oracle数据库数据向mysql数据库迁移时,遇到了主键冲突的问题,解决办法如下:

distinct和rowid认识:
distinct:只能针对字段去重,不能用于关联查询,使用distinct是针对字段组合使用的,所有字段组合起来不重复,不能解决主键冲突,它只是去重了主键,但关联结果还是笛卡尔积结果
rowid:rowid,rownum就是oracle内置的虚拟字段,rowid就是一条数据的唯一标识,rownum就是用于分页用的,max(rowid)表示取最新或者是最大的那一条数据