gpt4 book ai didi

mysql - 在 sql 中为使用 SELECT 选择的每个 ID 运行 INSERT

转载 作者:行者123 更新时间:2023-11-29 10:11:43 24 4
gpt4 key购买 nike

我有一个选择列(ID)并有多行的查询。

SELECT DISTINCT users.ID FROM `users` LEFT JOIN `posts` AS ships ON users.ID = ships.post_author WHERE ships.post_author IS NULL

现在我想将每个 ID 插入 posts 表并使用 post_author 列中的 ID

INSERT INTO `posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`) VALUES (NULL, 'THE IDs from the select statement', DATE_SUB(NOW(), INTERVAL 7 HOUR), NOW())

//编辑我想做更多的事情,如何插入到另一个表中?作为“post_id”,我需要 INSERT 语句中的自动增量 ID。我认为 LAST_INSERT_ID() 不起作用。

INSERT INTO `postmeta` (`post_id`, `meta_key`, `meta_value`)
VALUES ('ID OF THE ABOVE INSERT', '_start_date', DATE_SUB(NOW(), INTERVAL 7 HOUR));

最佳答案

您可以使用插入选择来使用单个查询

INSERT INTO `posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`) 

SELECT DISTINCT null, users.ID , DATE_SUB(NOW(), INTERVAL 7 HOUR), NOW()
FROM `users`
LEFT JOIN `posts` AS ships ON users.ID = ships.post_author
WHERE ships.post_author IS NULL

关于mysql - 在 sql 中为使用 SELECT 选择的每个 ID 运行 INSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50853089/

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