我对sugarcrm有一些问题。 如你所知,sugarcrm表,它们确实有ID(这是一个唯一的字符串),它们不是按顺序运行的。例如
4bab37e4-798a-e01c-75de-4e4397f358b7
例如,我想将表sugarcrm.accounts
复制到something.accounts
,在something.accounts
中我在其上添加了一些自定义文件以供其他PHP进程使用。
现在的问题是,我的sugarcrm表在那里得到了很多记录,我打算一批一批地运行它,每次我想将10,000条记录复制到我的somthing.accounts
。
然而,sugarcrm.accounts
,他们的ID,而不是顺序,我怎么知道偏移参数?
我不想修改sugarcrm表/或在sugarcrm中添加临时表。 (例如sugarcrm.account_index
),它可能导致我在升级时遇到问题。
所以任何人都有任何想法,我如何获得索引号? MySQL是否隐藏了索引?
或者有人有更好的想法让数据库表复制另一个数据库表吗?
答案 0 :(得分:1)
一种方法如下:
- 从sugarcrm.accounts
中选择所有行,并按date_created升序排序。
- 使用限制仅选择行的子集(存储批次之间的偏移量)
- 将行子集复制到something.accounts
如果稍后添加新记录,它们仍将被复制,因为它们将在集合中的最后一个。但是,如果在运行批处理作业时删除sugarcrm.accounts
中的记录,则还需要更改偏移量,因为您可能会省略某些行。
另一种方法是,如果两个数据库/表在同一个MySQL实例中,则加入这两个表,然后选择something.accounts
中不存在的下一个10.000。