2013-03-09 164 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');