gpt4 book ai didi

php - 将查询结果插入到同一个表中

转载 作者:行者123 更新时间:2023-11-29 11:16:52 25 4
gpt4 key购买 nike

(对于 WordPress 用户:我正在通过组合现有的“自定义字段”对来创建一组名为 sidebar_buy_now 的新“自定义字段”。)

我有一个表:wp_postmeta,有 4 个字段:meta_idpost_idmeta_key元值

meta_id是主键,应该自动递增。

我有一个有效的 SELECT 查询,它为最后 3 个字段生成所需的结果:post_idmeta_keymeta_value:

SELECT L.`post_id`, "sidebar_buy_now" AS "meta_key",
CONCAT(L.`meta_value`, ' | ',R.`meta_value`)
AS "meta_value" FROM `wp_postmeta` L INNER JOIN `wp_postmeta` R
ON L.`post_id` = R.`post_id`
AND L.`meta_key` = 'sidebar_buy_now_url'
WHERE R.`meta_key` = 'sidebar_buy_now_title'

我想将此查询的结果插入到 wp_postmeta 表中,同时自动递增 meta_id

这是我正在尝试的 INSERT 查询,但不起作用:

INSERT into `wp_postmeta` (`post_id`,`meta_key`,`meta_value`) 
SELECT L.`post_id`, "sidebar_buy_now" AS "meta_key",
CONCAT(L.`meta_value`, ' | ',R.`meta_value`) AS "meta_value" FROM `wp_postmeta` L INNER JOIN `wp_postmeta` R ON L.`post_id` = R.`post_id`
AND L.`meta_key` = 'sidebar_buy_now_url' WHERE R.`meta_key` = sidebar_buy_now_title'

出现此错误:

#1136 - 列计数与第 1 行的值计数不匹配

也许是因为我不知道如何在 SELECT 中指定自动递增的元 id...(?)有人知道如何解决这个问题吗?

最佳答案

INSERT into wp_postmeta (post_id,meta_key,meta_value)
SELECT
L.post_id
,"sidebar_buy_now" AS "meta_key"
,CONCAT(L.meta_value, ' | ',R.meta_value) AS "meta_value"
FROM
wp_postmeta L
INNER JOIN wp_postmeta R
ON L.post_id = R.post_id AND L.meta_key = 'sidebar_buy_now_url'
WHERE R.meta_key = 'sidebar_buy_now_title'

因为meta_id是一个自动增量列,所以你实际上并没有插入任何东西。您只需从插入语句中省略它即可。

关于php - 将查询结果插入到同一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39580627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com