Mysql 在存储过程中执行多次插入

Mysql 在存储过程中执行多次插入,mysql,stored-procedures,multiple-insert,Mysql,Stored Procedures,Multiple Insert,我需要使用MySQL在存储过程中进行多次插入。 我一直在寻找这个,但我几乎没有找到任何信息或例子 消息(插入)的数量各不相同。有时可能是一个,有时可能是二十个 简而言之,我需要做以下工作:假设用户可以属于一个组。如果其中一个用户离开该组,我需要通过消息向其他用户提供有关此操作的建议 插入的内容如下所示: INSERT INTO messages (author, dest, title, msg) VALUES (ldr,id1,'Same title for all messages','Sa

我需要使用MySQL在存储过程中进行多次插入。 我一直在寻找这个,但我几乎没有找到任何信息或例子

消息(插入)的数量各不相同。有时可能是一个,有时可能是二十个

简而言之,我需要做以下工作:假设用户可以属于一个组。如果其中一个用户离开该组,我需要通过消息向其他用户提供有关此操作的建议

插入的内容如下所示:

INSERT INTO messages (author, dest, title, msg)
VALUES (ldr,id1,'Same title for all messages','Same body message for all'),
(ldr,id2,'Same title for all messages','Same body message for all'),
...
我曾尝试将单个插入到循环中,但正如您所猜测的,它持续的时间非常长

我在其他页面中可能想到或看到的方式有:

  • 将用户的ID放入文本变量中,用prepare准备insert语句并执行它
  • 获取用户的ID,创建一个临时表并引入ID,最后插入其中的所有消息
  • 还有别的办法吗
从良好实践和绩效/效率的角度来看,我不知道哪种方法是最好的方法

你有什么想法吗

如果你知道怎么做,你能写一个简单的例子吗


非常感谢。

值应该在插入查询中出现一次。@Grijesh Chauhan是的,我错了。它已经被更正。您可以将
dest
拆分到它自己的表(message\u id,dest),因此只需要添加这些内容。@Wrikken我不明白您的意思。我已经知道哪一组是“dest”,如果这是你想指出的不,我想指出的是,你不需要复制主体和身体。