MySQL - 插入多个表行的最简单方法 - 做一个foreach

时间:2013-10-30 11:50:00

标签: mysql foreach insert

好的我有2张桌子,

users_table: id | firstname

messages_table : id | id_to | id_from | message

我现在要做的是获取所有users_table ID并在messages_table中为每个ID添加一条消息(因此使用一个查询向所有用户发送消息)

我正在尝试像这样闷闷不乐:

foreach $users_table.id do:

    INSERT INTO messages_table (id_to,id_from,message) VALUES ($users_table.id, 5, "Hey man!");

我可以在没有服务器端脚本的情况下这样做吗?

1 个答案:

答案 0 :(得分:2)

只要其他参数是常量(或者可以从其他表派生),您就可以使用INSERT ... SELECT语句:

INSERT INTO `message_table` ( `id_to`, `id_from`, `message`)
SELECT user.`id`, 5, "Hey man!"
  FROM `users_table` user