更新の直後に最後に更新された$wpdb->insert_id;
のid
を見つけるためにrow id
を使っても安全ですか?例:
$sql = $wpdb->insert($table_name, $arrayWithDataToInsert, array('%s','%s'));
$results['new_created_id'] = $wpdb->insert_id;
それとも、私の直後に挿入された別の行のIDをキャッチする可能性がありますか。
ありがとうございます。
より高いレベルでは、php/dbコネクタが$ wpdb-> insert_idに頼って正しいIDを返すかどうかを知る手段は本当にありません。 100%確実であるための唯一の方法はあなたが知っている(そしてそのようにインデックスを付けられる)キーを追加することです。その後、その一意のキーに対してテーブルを照会することでIDを取得できます。
私がこれを書いているのは、トリガー関数がDB内から行を追加する場合、あるいはもっと重要なことに、プラグインがwpdbにフックしているのと同じように挿入している場合などです。 、あなたは安全ではありません。
そのことを念頭に置いて、WPコミュニティ(そしてその点に関しては他のほとんどのコミュニティ)の誰もがDBができることについての最も簡単な考えを持っていて、まるでそれが巨大な配列の束であるかのように扱います。だから実際にそれに頼るのはとても安全です。