In un'applicazione ad alto traffico, è possibile che mysqli_insert_id()
restituisca l'ID errato o per confondere l'ID tra due query INSERT
eseguite quasi contemporaneamente?È possibile che mysqli_insert_id restituisca un ID errato nelle applicazioni ad alto traffico?
risposta
No. mysqli_insert_id
restituisce il valore più AUTO_INCREMENT
dalla più recente INSERT
query sulla connessione corrente. Ad esempio, non verrà mai confuso con un'altra connessione.
No. Come posso essere così sicuro? Perché sarebbe stato segnalato e risolto un tempo lungo.
Citando un precedente risposta a questa stessa identica domanda:
Guarda http://dev.mysql.com/doc/refman/5.6/en/getting-unique-id.html per ulteriori informazioni, si dice questo:
"Per LAST_INSERT_ID(), l'ID generato più di recente è mantenuto in il server per ogni connessione, non viene modificato da un altro client . Non viene nemmeno modificato se si aggiorna un'altra colonna AUTO_INCREMENT con un valore non magico (ovvero un valore che non è NULL e non 0) . Utilizzo di LAST_INSERT_ID() e AUTO_INCREM Le colonne ENT contemporaneamente da più client sono perfettamente valide. Ogni cliente riceverà l'ultimo ID inserito per l'ultima affermazione che il cliente eseguito."
Quindi si dovrebbe andare bene a fare ciò che si vuole e non si dovrebbe ottenere risultati strani.
- 1. TSQL: Timeout sulla tabella ad alto traffico
- 2. Laravel può gestire app ad alto traffico?
- 3. sito mobile ad alto traffico di rilevamento
- 4. Considerazioni sulla codifica ASP.NET MVC ad alto traffico
- 5. Jquery - Riferimento per ID - Si suppone che restituisca un array?
- 6. Riscaldamento di applicazioni Java ad alto throughput
- 7. Nginx Bilanciamento del carico del traffico ad alto volume
- 8. È possibile che DbContext.SaveChanges() restituisca 0 ma non abbia un'eccezione?
- 9. Quanto è importante lo sprite per le prestazioni su un sito Web ad alto traffico?
- 10. Come è possibile che fork() restituisca due valori?
- 11. migliore soluzione di database web per scala per un sito ad alto traffico?
- 12. Transient Mysql :: Errore: voce duplicata su un sito ad alto traffico - qualche idea?
- 13. È possibile che un dominio Grails non abbia un 'id'?
- 14. È possibile utilizzare Win32 Hooks nelle applicazioni Qt
- 15. CSRF nelle applicazioni mobili
- 16. MVC3 Html.DisplayFor - È possibile che questo controllo generi un ID?
- 17. TensorFlow in produzione per le previsioni in tempo reale nell'app ad alto traffico: come utilizzare?
- 18. È valido fornire un ID di stile ad un elemento?
- 19. La normalizzazione ha davvero danneggiato le prestazioni nei siti ad alto traffico?
- 20. view.getId() restituisce un ID errato in OnItemClickListener
- 21. Console.WriteLine è un collo di bottiglia nelle applicazioni Windows?
- 22. Perché mysqli_insert_id() restituisce sempre 0?
- 23. È possibile utilizzare l'ereditarietà nelle interfacce AIDL?
- 24. Etichette ad alto valore interrotto
- 25. Impossibile che un servizio SOAP WCF restituisca JSON come output?
- 26. È possibile creare una funzione in MATLAB che non restituisca nulla?
- 27. Come impostare un timer nelle applicazioni wp7?
- 28. È possibile avere un server JMS senza un server applicazioni?
- 29. È possibile comprimere il traffico di rete di SQL Server?
- 30. NSTextAttachmentCell è alto un miglio
bella domanda +1 – tomexsans
FYI questo è chiamato [* Race Condition *] (http://en.wikipedia.org/wiki/Race_condition) –