gpt4 book ai didi

MySQL INSERT 使用多个表中的变量

转载 作者:行者123 更新时间:2023-11-30 00:06:04 24 4
gpt4 key购买 nike

我有两个表,我想使用 WordPress 中的 SQL 数据库来比较其 ID。

以下工作正常:

INSERT INTO entries(author_name) 
SELECT meta_value
FROM wp_postmeta
WHERE meta_key = "user_submit_name" AND post_id = '5235';

但我想要做的是比较表条目和 wp_postmeta 中的 ID,只要 ID 相同,如下所示:

INSERT INTO entries(author_name) 
SELECT meta_value
FROM wp_postmeta
WHERE meta_key = "user_submit_name" AND post_id = entries.post_id;

但是上面的方法不起作用。是否可以在一行中完成此操作,或者我是否必须创建一个过程?

最佳答案

您可以做到这一点,只需使用联接即可。

INSERT INTO entries(author_name) 
SELECT meta_value
FROM wp_postmeta
JOIN entries on wp_postmeta.post_id = entries.post_id
WHERE meta_key = "user_submit_name" AND post_id = entries.post_id;

这会将meta_value插入到条目表中与wp_postmeta匹配的post_id的条目中。这意味着如果您运行插入语句两次,您将尝试执行相同的插入两次。如果这是一个问题,我们可以添加一个子选择来不插入重复的记录。此外,如果有多个条目具有相同的帖子 ID,我们也会遇到同样的问题。但是,给定的 sql 语句应该适用于单次运行,其中条目 post_id 对于条目表是唯一的。

关于MySQL INSERT 使用多个表中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24537764/

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