首页 > 解决方案 > Php/mysql:如何在多个表中插入大量行,仅在 2 个查询中

问题描述

在我的应用程序中,我的工作是每天在 UTC 午夜准确地为用户计算一些东西。我为每个用户在表 A 中插入一行,为此我首先计算一个字符串,我在 à foreach 循环中连接,然后将整个字符串发送到 mysqli_query。

$q = ‘insert into mb_thing_to_compute values’;
foreach($user as $u) 
{ 
    $q .= ‘’(NULL, {$u[‘ID’]}, $computedStuff),’’;
} 
mysqli_query($q);

这样,与我一一发送插入相比,似乎没有开销时间

现在的问题是,在第二个表中,我需要向用户发送更新通知,并且每个通知行在另一个表中都有其参数。只有mysql知道,在插入之后,它插入了哪个ID,所以我不能使用第一种方法,因为我不知道插入的通知ID是什么,需要插入通知参数(每个通知有3个参数)。

我想过给通知 ID 一个 php 生成的 ID,使用 php uniqId 函数,但可能有一个更“干净”的方法来实现?

标签: phpmysql

解决方案


推荐阅读