在数据库(SQL)中为每个用户插入一行

时间:2018-08-10 10:04:47

标签: sql sql-server phpmyadmin

我要做什么:
在我创建的网站上,您可以编写消息,这些消息将在message表中显示,并带有ID和输入的标题,文本等。我想做的是创建此消息后,我想创建一个SQL调用,该调用将为关系数据库中的所有用户提供user_messages表中的一行,并与新创建的连接消息,并且user_messages.read设置为0。

表结构

Database structure

user_messages表

user_messages table

我的问题:
创建新邮件时,为每个具有ID的用户在user_messages中插入一行(如图片2)最简单的方法是什么?


我试图做这样的事情,但是没有用

INSERT INTO `user_messages` (
    `user_id`
    ,`message_id`
    ,`read`
    )
VALUES (
    ['*']
    ,[<new-message-id>]
    ,['0']
    )

2 个答案:

答案 0 :(得分:0)

喜欢吗?

INSERT INTO `user_messages`(`user_id`, `message_id`, `read`) 
SELECT `user_id`, [<new-message-id>], ['0'] FROM `users`

答案 1 :(得分:0)

您可以一次插入两个表

INSERT INTO user_messages t1, messages t1 (t1.E1, t1.E2, t2.E1, t2.E2)