Php Sugarcrm按批将一个表复制到另一个数据库表(cronjob)
我对sugarcrm有一些问题。 正如您所知,sugarcrm表确实有ID(这是一个唯一的字符串),它们不是按顺序运行的。e、 g 4bab37e4-798a-e01c-75de-4e4397f358b7 例如,我想将表Php Sugarcrm按批将一个表复制到另一个数据库表(cronjob),php,mysql,sugarcrm,Php,Mysql,Sugarcrm,我对sugarcrm有一些问题。 正如您所知,sugarcrm表确实有ID(这是一个唯一的字符串),它们不是按顺序运行的。e、 g 4bab37e4-798a-e01c-75de-4e4397f358b7 例如,我想将表sugarcrm.accounts复制到something.accounts,在something.accounts中,我在表上添加了一些自定义文件以供其他PHP进程使用 现在的问题是,我的sugarcrm表在那里有大量记录,我计划一批一批地运行它,每次我想将10000条记录复制
sugarcrm.accounts
复制到something.accounts
,在something.accounts
中,我在表上添加了一些自定义文件以供其他PHP进程使用
现在的问题是,我的sugarcrm表在那里有大量记录,我计划一批一批地运行它,每次我想将10000条记录复制到我的somthing.accounts
但是,sugarcrm.accounts
,它们的ID不是顺序的,我如何知道偏移参数
我不想修改sugarcrm表/或在sugarcrm中添加临时表。(例如sugarcrm.account\u index
),这可能会导致我在升级时遇到问题
有人知道怎么得到索引号吗?MySQL是否有隐藏索引
或者有谁有更好的办法来复制另一个数据库表呢?一种方法如下:
-从sugarcrm.accounts和order by date_中选择所有行。
-使用“限制”仅选择行的子集(存储批次间的偏移量)
-将行子集复制到something.accounts
如果以后添加新记录,它们仍将被复制,因为它们将是集合中的最后一个记录。但是,如果在运行批处理作业时删除sugarcrm.accounts
中的记录,则还需要更改偏移量,因为可能会忽略某些行
另一种方法是,如果这两个数据库/表位于同一个MySQL实例中,则将这两个表连接起来,然后选择下一个10.000,它在
something.accounts
中不存在。您好,谢谢您的回复。创建的订单日期的问题也不是唯一的。这是因为某些数据正在使用导入功能,所以创建的日期不是唯一的值。它可能有几百个相同的值。我想我可以考虑一下你的第二个建议。这应该是可行的。你有办法处理这样的大型数据库吗?我想,另一个选择是使用autoincrement手动向sugarcrm.accounts
表中添加一个自定义ID列。这样,您应该能够使用偏移量和限制轻松复制数据。它不会杀死糖。