php function last_insert_id () sorgu REPLACE INTO ile çalışmıyor

2 Cevap php

Ben tabloya eklemek için sorgu REPLACE INTO kullanıyorum ama mysql_query () işlevini kullanarak sorguyu yürüttükten sonra ve eğer () sadece bana 0 değerini veriyor last_insert_id kullanın.

neden bu bu kadar oluyor? ve nasıl bu davranışı üstesinden gelebilir.

: Pankaj

2 Cevap

REPLACE INTO last_insert_id() ile elde edilebilir vaue etkileyecek gibi görünmüyor.

Bu bakarsak, beklenen davranış gibi görünüyor:

Yerine INSERT INTO ... ON DUPLICATE KEY UPDATE kullanarak deneyebilirsiniz. Bu REPLACE INTO olarak aynı şeyi başarır, ancak tek bir sunucu tarafı operasyon. REPLACE INTO iki operasyonlarını neden sonunda: eskisini silin, yenisini takın.

Ama ne olursa olsun sorgu türü, tablonun birincil anahtarı bir auto_increment alanı olmasını sağlamak zorunda. last_insert_id (), aksi takdirde düzgün çalışmıyor.