gpt4 book ai didi

mysql - 插入另一个表中的所有用户

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

我有 2 个表(通知和后续)。我想为关注此页面的所有用户添加通知。对于只有一个用户,我喜欢这样:

INSERT INTO notifications ( from_id , to_id , type, checked, page_id ) VALUES ( :from_id , :to_id , :type, :checked, :page_id)

我想为所有关注同一页面的用户做同样的事情。要点:page_id指向页面,to_id指向用户。

CREATE TABLE IF NOT EXISTS `notifications` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`from_id` int(11) NOT NULL,
`to_id` int(11) NOT NULL,
`page_id` int(11) NOT NULL,
`type` int(11) NOT NULL,
`checked` tinyint(1) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=122 ;

-----

CREATE TABLE IF NOT EXISTS `following` (
`following_id` int(11) NOT NULL AUTO_INCREMENT,
`page_id` int(11) NOT NULL,
`follower_id` int(11) NOT NULL,
`accepted` tinyint(1) NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`following_id`),
UNIQUE KEY `id` (`following_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=82 ;

我怎样才能实现这个目标?

最佳答案

您使用 insert 。 。 。 select 语法用于从同一个表插入多行。我不确定您到底想要从哪里获得哪些列,但方法如下:

INSERT INTO notifications(from_id, to_id, type, checked, page_id) 
select f.follower_id, :to_id, :type, :checked, f.page_id
from following f
where f.page_id = :page_id;

关于mysql - 插入另一个表中的所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344783/

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