外部キー関係の最後の挿入 ID の取得
リレーショナル データベースでは、テーブル間に外部キー関係を確立するのが一般的です。子テーブルに新しい行を挿入する場合、その行を親テーブルの行に関連付ける必要がある場合があります。これを実現するには、通常、最後に挿入された ID を親テーブルから取得し、それを子テーブルの外部キーとして使用する必要があります。
チャレンジ:
姓、名、およびユーザー名を使用して、画像 (テーブル 2 の) をユーザー (テーブル 1 の) に関連付けたいと考えています。ただし、最後に挿入された ID を table2 から取得し、それを table1 の外部キーとしてバインドしようとすると、機能しません。
解決策:
最後に挿入された ID を正常に取得し、それを使用して外部キーを設定するには、次の手順に従う必要があります:
mysqli_insert_id() 関数を組み込んだコードの更新バージョンは次のとおりです。
$image = mysqli_insert_id($mysqli); // Retrieve the last inserted ID from table2 $stmt = $mysqli->prepare(" insert into table1 (username, firstname, lastname, image) select ?,?,?,image from table2 t2 where username = ? and t2.id = ? "); $stmt->bind_param('sssss', $username, $fname, $lname, $username, $image); $stmt->execute();
これらを作成することで、変更により、最後に挿入された ID を table2 から取得し、それを外部キーとして使用して table1 の新しい行をリンクできるようになりました。
以上がMySQL で外部キー関係に最後に挿入された ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。