この SQL を実行した後、mysql_insert_id を使用して挿入 ID を取得できません。 replace into によって生成された新しい ID を取得するメソッド/関数はありますか? ------解決策---------------------- replace コマンドは新しい ID を生成する場合と生成しない場合があります。 なので、取得できないのが正常です
では、replace into によって生成された新しい ID を取得するメソッド/関数はありますか? 答えはノーですが、ID を指定できます -----解決策---------------------- select LAST_INSERT_ID() as `id` from `create_id`; は、 select id from `create_id` order by id desc limit 1 と同じではありませんか? ------解決策---------
同時実行の場合、ID desc による順序は他の人の ID である可能性があります LAST_INSERT_ID() は特定のデータベース接続の範囲内ですか? ------解決策---------------------- この方法でもIDを取得できることが判明、そこから学びましょう -----解決策--------- select id from tb order by id説明制限 1 -----解決策--------- これだとライブラリ内のidしか取得できませんよね?作成者は、データを挿入するときに現在の ID を取得したいと考えています。 TP で書きました: $Form=M('member'); $sql="show table status where Name='fht_member'"; $rs=$Form-> ;query( $sql); $Mid=$rs[0]['Auto_increment']; 返されたレコード セットには ['Auto_increment'] があり、これは現在挿入されている自動インクリメント ID です