0

我正在从 GMail 导入联系人,联系人可能会达到数百和数千。

我有这个查询做 INSERT

$sql="INSERT IGNORE INTO lists (account_id, createdby, first_name, last_name, email, phone, date_created, list_type) VALUES $bindparam";
$importObj= otherquery($sql, $bind, $params);

我需要获取插入 ID 以使我能够在另一个表中进一步插入它们的详细信息。

考虑到我不能在一次导入中运行 1,000 个或更多查询,而且我的自动增量可能不一致,我该如何解决这个问题。该应用程序还被许多人同时使用,这可能意味着可能有两个以上的人同时运行插入(不仅通过导入)。

4

1 回答 1

0

另一个问题是错误的假设。

考虑到我不能在一次导入中运行 1,000 个或更多查询

为什么会有这样的考虑?PHP 和 mysql 都没有这样的查询数量限制。

我的自动增量也可能不一致。

这里已经有数百个来自同样可疑的用户的问题,他们实际上从未对自动增量一致性有任何问题,但他们只是提前担心。都有令人放心的答案。Mysql 开发者并没有你想象那么傻。您的自动增量不会发生任何错误。

我只希望你在一些后台进程中排队你的导入,而不是让用户在线等待它。以这种方式完成导入后,您应该不会遇到查询数量或脚本执行时间或其他任何问题。只需创建一个队列,或者基于 mysql 表的自制队列,或者使用 RabbitMQ 等专用软件,然后让一些后端服务器在后台完成所有导入。

于 2013-10-13T10:12:41.230 回答