2013-03-09 122 views
1

MySQL的代码是一样的东西:获取插入PHP和MySQL行ID与多个插入

INSERT INTO table(name, value) VALUES ('name1', 'value1'), ('name2', 'value2'), ('name3', 'value3') 

基本上,在同一个SQL语句多个插入。

如何获取插入值的ID。我认为mysql_insert_id()与插入的数量相结合是不安全的,因为其他人可能会同时插入一些东西。

还有别的办法吗?

+1

http://stackoverflow.com/questions/1285231/php-mysql-retrieving-the-last-inserted-ids-for-multiple-rows – Vimalnath 2013-03-09 18:10:36

+0

谢谢vimalnath,没有发现一个。 – cgf 2013-03-09 18:15:52

回答

2

您或者需要一次插入一个,或者通过后续查询找出id。

INSERT INTO table(primkey, value) VALUES ('pk1', 'val1'), ('pk2', 'val2'); 
SELECT FROM table id, primkey where primkey in ('pk1', 'pk2');