2013-10-13 54 views
0

我从GMail导入联系人,联系人可以运行到几百和几千。获取插入ID在MySQL多行插入

我有这个疑问做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); 

我需要插入IDS,使我进一步在另一个表中插入他们的详细资料。

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

+0

它看起来像你有'电子邮件'在那里 - 是一个独特的关键?如果是这样,在后续的INSERT中使用它来检索id;从理论上讲,你根本不需要拉回ID .... –

回答

0

还有另一个问题是出于错误的假设。

考虑,我不能在一个进口

为什么这么考虑运行1000个查询,或更多? PHP和mysql都没有对查询数量的限制。

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

从同样可疑的用户那里已经有数百个问题,他们从来没有遇到任何与自动递增一致性问题,但是谁提前担心它。所有的答案都令人放心。 Mysql开发者并不是就像你想象的那样傻。您的自动增量将不会发生任何错误。

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