Est-il prudent d’utiliser $wpdb->insert_id;
pour trouver la id
d’une dernière mise à jour row id
juste après une mise à jour? ex:
$sql = $wpdb->insert($table_name, $arrayWithDataToInsert, array('%s','%s'));
$results['new_created_id'] = $wpdb->insert_id;
ou est-ce que je rencontre la possibilité d'attraper l'identifiant d'une autre ligne insérée immédiatement après le mien?
Merci!
À un niveau supérieur, il n'y a vraiment aucun moyen de savoir si le connecteur php/db retournera le bon identifiant en s'appuyant sur $ wpdb-> insert_id. Le seul moyen d'être sûr à 100% est d'ajouter une clé unique (et indexée en tant que telle); vous pouvez ensuite récupérer l'ID en interrogeant la table sur cette clé unique.
La raison pour laquelle j’écris ceci est si une fonction de déclenchement ajoute des lignes à partir de la base de données, ou plus important encore, si un plug-in se raccorde à wpdb de telle sorte qu’il dérange avec des insertions à côté de celui que vous êtes en train de créer (par exemple pour la journalisation) , tu n'es pas en sécurité.
Dans cet esprit, pratiquement tous les membres de la communauté [WP] (et la plupart des autres communautés, d'ailleurs) ont la moindre idée de ce qu'un DB peut faire et traitent la chose comme s'il s'agissait d'un ensemble d'énormes matrices. . Donc, vous êtes très sûr de compter dessus dans la pratique.