如何将两个单独的列连接成一个列?

时间:2013-08-29 作者:Adzay

在phpmyadmin中,我有两列分别表示纬度和经度。

e、 g.纬度:“38.897683”液化天然气:“-77.03649”。

这些坐标是为“我的位置”自定义帖子生成的。

如何将它们自动合并到新的(第三)列中,以便在一个字符串中包含值:

\'38.897683,-77.03649\'。

我想将此应用于已创建的现有帖子和新帖子。

塔克斯

1 个回复
最合适的回答,由SO网友:Rubens Mariuzzo 整理而成

似乎您正在为此寻找纯SQL解决方案。您可以通过运行以下查询来实现这一点:

UPDATE wp_posts 
SET latitude_longitude = CONCAT(latitude, ", " , longitude);
这对您很有用,只需仔细检查列的名称:latitude_longitude, latitudelongitude.

<小时>

Update

如果要在每次保存帖子时运行SQL查询,可以使用hook 如下所示:

function update_post_location( $post_id ) {

    // If this is just a revision, do not update.
    if ( ! wp_is_post_revision( $post_id ) )
        return;

    $query = \'UPDATE wp_posts \' . 
             \'SET latitude_longitude = CONCAT(latitude, ", " , longitude) \' .
             \'WHERE id = \' . $post_id;

    $wpdb->query( $query )
}
add_action( \'save_post\', \'update_post_location\' );

结束