2015-08-18 3 views
3

У меня есть две базы данных. WordpressDB и JoomlaDBВыровнять две таблицы mysql

WordpressDB имеет таблицу db1_users JoomlaDB имеет таблицу db2_users

thoose таблицы имеет одни и те же поля имена

id | email | Login | Password 

Общая база данных является WordpressDB. Так что мне нужно все id в JoomlaDB сделать то же самое, что и id в WordpressDB, где email поле такое же.

Итак, как это сделать, это около 10.000 записей?

+0

Выполнение этого полностью разрушит Joomla. Идентификатор не существует для вас. Это ключ, используемый во всех других таблицах. Вместо того, чтобы пытаться присоединиться к id, попробуйте присоединиться к электронной почте. – kainaw

ответ

1

Я не знаю, если это право или нет, но если вы ищете запрос обновить идентификатор в таблице данных с помощью Joomla ID в таблице WordPress, я думаю, вы можете использовать это:

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 
) 
+0

проблема в том, что две разные базы данных и имеют разные имена пользователей и пароли –

1

Вы можете создать столбец wp_user_id в таблице db2_users и создать сценарий миграции для сопоставления идентификаторов пользователей из WordpressDB db1_users в JoomlaDB, где та же почта существует.

Таким образом, вы не будете влиять на то, как Joomla обрабатывает идентификаторы пользователей, и вы можете достичь своих потребностей.

Обратите внимание, что вы можете стать жертвой одновременного обновления, так как модули буксировки могут одновременно обновлять одну и ту же строку, в этом случае вам может понадобиться locking mechanism при обновлении пользовательских строк на JoomlaDB.

+0

Итак, как посмотреть этот сценарий миграции? –

+0

Вам понадобится запрос UPDATE с объединением между двумя базами данных, если они находятся на одном сервере, где вы устанавливаете wp_user_id в JoomlaDb на основе соответствия по электронной почте при подключении двух таблиц по электронной почте ... Вы можете воспользоваться преимуществами это [ссылка] (http://stackoverflow.com/questions/8057565/mysql-update-statement-inner-join-tables) для получения дополнительной информации об использовании обновлений с объединениями. – KAD

Смежные вопросы