对齐两个mysql表

时间:2015-08-18 13:56:21

标签: php mysql

我有两个数据库。 WordpressDB和JoomlaDB

WordpressDB有表db1_users JoomlaDB有表db2_users

thoose表具有相同的字段名称

id  | email | Login | Password

通用数据库是WordpressDB。 所以我需要JoomlaDB中的所有id与WordpressDB中的id相同,其中email字段是相同的。

那么如何做到这一点,大约有10,000个条目?

2 个答案:

答案 0 :(得分:1)

我不知道这是否正确,但是如果您正在使用表wordpress中的数据ID查找表joomla中的ID更新查询,我想您可以使用此:

update WordpressDB.tbl_user1 
set WordpressDB.tbl_user1.ID=(
select JoomlaDB.tbl_user2.ID from JoomlaDB.tbl_user2 
where JoomlaDB.tbl_user2.EMAIL=WordpressDB.tbl_user1.EMAIL
) 

答案 1 :(得分:1)

您可以在表wp_user_id中创建一列db2_users,并创建一个迁移脚本,将用户ID从WordpressDB db1_users映射到存在相同邮件的JoomlaDB。

通过这种方式,您不会影响Joomla处理用户ID的方式,您可以实现自己的需求。

请注意,您可能会成为并发更新的受害者,因为两个模块可能同时更新同一行,在这种情况下,在更新JoomlaDB上的用户行时可能需要locking mechanism