向现有的user_id添加用户数据

时间:2017-06-03 作者:ina2n

我正在使用phpMyAdmin向WordPress数据库中的现有用户添加一些新的用户记录。该数据库用于WordPress多站点网络。

我不得不将旧的WP站点迁移到新站点,但旧站点是一个单一的WP数据库结构,新的WP multisite为每个用户提供了三条新记录。

我的问题是,如何使用WP multisite的这三个新用户记录更新/插入数千个现有用户记录?

以下是wp_usermeta 表格:

(225579, 7520, \'locale\', \'\'),
(225583, 7520, \'primary_blog\', \'3\'),
(225584, 7520, \'source_domain\', \'example.com\'),
如果不添加这些记录,每个博客都无法看到自己的客户。在WP multisite中,所有用户和用户元都合并到一个表中。

首先,我的旧客户记录可以在wp\\u usermeta表中找到,如下所示:

(225571, 7520, \'first_name\', \'John\'),
(225572, 7520, \'last_name\', \'Doe\'),
现在我需要将上述3条记录添加到每个现有记录中user_id. 正如您在我的示例中所看到的user_id 对于所有5条记录都是相同的。请记住,我正在使用来自新用户的数据来突出显示我需要什么。我必须将3条新记录添加到每个现有记录中user_id 从无到有。

我尝试了几件事,但都没有成功:

INSERT INTO wp_usermeta SELECT DISTINCT meta_key FROM wp_usermeta VALUES (\'source_domain\', \'example.com\');
INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) VALUES (\'primary_blog\', \'3\');
INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) SELECT DISTINCT umeta_id, user_id, \'source_domain\', \'example.com\';
INSERT INTO wp_usermeta (meta_key, meta_value) SELECT \'souce_domain\', \'example.com\';
INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) SELECT umeta_id, user_id, \'source_domain\', \'example.com\' WHERE user_id >= \'51\'
INSERT INTO wp_usermeta (umeta_id, user_id, meta_key, meta_value) SELECT DISTINCT (umeta_id, user_id, \'source_domain\', \'example.com\') WHERE user_id = user_id
INSERT INTO wp_usermeta VALUES (umeta_id, user_id>=\'51\', meta_key=\'source_domain\', meta_value=\'example.com\') ON DUPLICATE KEY UPDATE user_id;
表和列名:

Table = wp_usermeta
Columns = umeta_id, user_id, meta_key, meta_value

1 个回复
SO网友:Satyendra Prakash

这里是查询。试试看,别忘了用实际的userid替换user\\u id,用meta\\u key替换meta\\u key,如“phone\\u no”,用meta\\u value替换meta\\u value,如“1238899776”。

INSERT INTO `wp_usermeta`(`user_id`, `meta_key`, `meta_value`) 
VALUES (1375,\'_lastlogin\', \'1497621956\')`

结束