Tek bir kayıt ekini yürüten bir döngü ile birden fazla kayıt eklersem, döndürülen son insert kimliği beklendiği gibi sonuncudur. Ben birden fazla kayıt ekleme deyimini Ama eğer: MySQL LAST_INSERT_ID() birden çok kayıtta kullanılır INSERT bildirimi
INSERT INTO people (name,age)
VALUES ('William',25), ('Bart',15), ('Mary',12);
üç Yukarıdaki tabloda eklenen ilk kayıtlar diyelim. Ekleme ifadesinden sonra, son ekleme kimliğinin 3 değerini döndürmesini bekledim, ancak 1 döndürdü. Söz konusu ifadenin ilk ek kimliği.
Birden çok kayıt INSERT ifadesi bağlamında bu, LAST_INSERT_ID()
'un normal davranışı olup olmadığını onaylayabilir. Bu yüzden kodumu buna dayanabilirim.
Tablonuzda otomatik artış var mı? –
ikinci iki insert ids kolayca hesaplanabilir. İlk önce her kayıt için bir tane ekleyin. – dqhendricks
@dqhendricks kimliğin doğru olacağından emin misin? innodb ile eklediğim kadarıyla belirli bir kimlik kümesini kilitlemeyin ve başka bir işlem arasına giriş girebilir, ancak bu konuda INSERT ... VALUES ... –