1、沒谷歌到php可以用的直接方法徒河,不過可以獲取批量插入的第一個自增id
2送漠、假設(shè)批量插入的數(shù)據(jù)的自增ID是連續(xù)的,則可以通過第一個自增ID獲取所有自增ID
3代兵、測試批量插入的數(shù)據(jù)的自增ID是否是連續(xù)的爷狈,即插入過程中,單獨插入其他數(shù)據(jù)思币,批量插入的自增ID是否連續(xù)
4羡微、生成批量插入10w條數(shù)據(jù)的sql
$s=<<<SQL
INSERT INTO `XXXX` (
`test_id`,
`operate_id`,
`create_time`
)
VALUES
%s;
SQL;
$a=array();
for ($i=0;$i<100000;$i++){
$a[]="('".rand(10000000,99999999)."', 'system', NOW())";
}
print_r(sprintf($s,implode(',',$a)));
exit(1);
5拷淘、navicat打開兩個頁面,一個是上面的sql贬堵,一個是一條單獨插入的sql(這條sql的test_id,要大于上面sql里隨機數(shù)的最大值,方便查看)
先點擊執(zhí)行上面的sql(應(yīng)該會執(zhí)行20多秒吧)黎做,中間隨機點擊單條sql
篩選單條sql中的test_id蒸殿,可以發(fā)現(xiàn)開始幾條都是小于批量的自增ID的,在批量執(zhí)行快結(jié)束的時候宏所,插入的單條sql的自增ID是大于批量的摊溶,并沒有單條sql的自增ID在批量中間,所以批量插入的自增ID是連續(xù)的
6霞玄、所以可以使用2中的方式獲取批量插入的所有自增ID