プリペアド ステートメントを使用してクエリを実行する場合、新しく挿入された行に関連付けられた自動生成された ID を取得することが望ましい場合があります。これは準備されたステートメントを使用して可能ですが、従来のアプローチに若干の変更が必要です。
従来の方法では、AutoGeneratedKeys 定数は Statement オブジェクトのexecuteUpdate() メソッドで使用されます。ただし、このアプローチは準備されたステートメントには適用できません。代わりに、次の手順を実行できます。
このアプローチを示す、変更されたコード スニペットを次に示します。
String sql = "INSERT INTO table (column1, column2) values(?, ?)"; stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); stmt.executeUpdate(); if (returnLastInsertId) { ResultSet rs = stmt.getGeneratedKeys(); rs.next(); auto_id = rs.getInt(1); }
これらの手順に従うことで、準備されたステートメントから自動生成された ID を正常に取得でき、新しく挿入された行の一意の識別子にアクセスできます。
以上が準備されたステートメントから自動インクリメント ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。