目标是迁移与存储在 Wordpress 表中的产品定义相关的数据(在本例中为信用卡)。
以下是我要迁移的数据的示例:
SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id = 366;
+-----------------+------------------------------------+
| meta_key | meta_value |
+-----------------+------------------------------------+
| Name | Santos Futebol Clube International |
| Issuer | Bradesco Banco |
| Issuer_Subtype | Bradesco |
+-----------------+------------------------------------+
还有很多字段,但我仅展示其中三个作为示例。 还有许多产品项目(每个帖子代表一个项目)。
我想将这些数据迁移到具有以下结构的表中:
DESCRIBE card;
+-----------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| issuer | varchar(255) | YES | | NULL | |
| issuer_subtype | varchar(255) | YES | | NULL | |
+-----------------------+--------------+------+-----+---------+----------------+
由于 Wordpress 表中代表每个项目的数据位于不同的行中,因此我在尝试掌握如何进行可实现此目的的查询时遇到问题。
有什么建议吗?
最佳答案
按每个post_id
分组。然后,您可以选择您喜欢的键的meta_value
。您必须使用聚合函数。我选择了 max()
但这并不重要。
select post_id,
max(case when meta_key = 'Name' then meta_value end) as Name,
max(case when meta_key = 'Issuer' then meta_value end) as Issuer,
max(case when meta_key = 'Issuer_Subtype' then meta_value end) as Subtype
FROM wp_postmeta
group by post_id
关于mysql - 使用 Wordpress wp_postmeta 表中的数据创建新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24630170/