Sizin açıklama comment başka eşzamanlı INSERT olursa LAST_INSERT_ID() yanlış sonuç vermez emin ilgilendiğiniz söylüyor. Diğer eş zamanlı etkinliklerden bağımsız olarak LAST_INSERT_ID() yönteminin güvenli olduğundan emin olabilirsiniz. LAST_INSERT_ID() yalnızca geçerli oturum sırasında üretilen en son kimliği döndürür. Her iki
- Açık kabuk pencereleri, çalıştırmak mysql müşteri ve veritabanına bağlanmak:
Sen kendin deneyebilirsiniz.
- Kabuk 1: AUTO_INCREMENT anahtarıyla bir tabloya INSERT.
- Kabuk 1: SELECT LAST_INSERT_ID(), sonuca bakın.
- Kabuk 2: Aynı tabloya INSERT.
- Kabuk 2:(), kabuk 1
- Kabuk 1 farklı bir sonuç bkz LAST_INSERT_ID: SELECT (yine) LAST_INSERT_ID SEÇİMİ önceki sonucun tekrarlanmak.
Bunu düşünüyorsanız, mantıklı olan tek yol budur. Otomatik artırıcı anahtar mekanizmaları destekleyen tüm veritabanları bu şekilde hareket etmelidir. Sonuç diğer istemcilerle eşzamanlı olarak olası bir yarış koşuluna bağlıysa, o zaman geçerli oturumunuzda son eklenen ID değerini almak için güvenilir bir yol olmaz.
Açıklama: Kod bir last_insert_id ekledikten sonra. Bu açıklamaların ikisi aynı anda neredeyse yürütmek ve exec düzen insert 1. insert 2. last_insert_id 1. tamamlanıncaya dönüşür ve 2 last_insert_id 2. tamamlamalar insert # id döner ve insert # id döndürür 2 Bu olabilir mi? – MPX