【问题标题】:Create new table with data from Wordpress wp_postmeta table使用 Wordpress wp_postmeta 表中的数据创建新表
【发布时间】:2014-08-29 02:11:15
【问题描述】:

目标是迁移与存储在 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 表中的数据位于不同的行中,因此我在试图弄清楚如何进行可以实现此目的的查询时遇到了问题。

有什么建议吗?

【问题讨论】:

  • 要复制现有的数据库表吗?

标签: mysql sql wordpress dbmigrate database-metadata


【解决方案1】:

按每个post_id 分组。然后,您可以选择meta_values 作为您喜欢的密钥。您必须使用聚合函数。我选择了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 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    相关资源
    最近更新 更多