2010-04-15 3 views

Répondre

2

REPLACE INTO ne semble pas affecter la vaue qui peut être obtenu par l'intermédiaire last_insert_id().

Il semble être le comportement attendu, à en juger par ceci:

+1

Cela s'applique si vous spécifiez la valeur pour le champ d'incrémentation automatique (c'est-à-dire désactiver la magie ;-)). Est-ce le cas avec vos requêtes, PankajK? – VolkerK

4

Vous pouvez essayer d'utiliser INSERT INTO ... ON DUPLICATE KEY UPDATE à la place. Il accomplit la même chose que REPLACE INTO, mais dans une seule opération côté serveur. REPLACE INTO peut finir par causer deux opérations: supprimer l'ancien, insérer le nouveau.

Mais quel que soit le type de requête, vous devez vous assurer que la clé primaire de la table est un champ auto_increment. last_insert_id() ne fonctionne pas correctement dans le cas contraire.