ホームページ >データベース >mysql チュートリアル >JavaでプリペアドステートメントからオートインクリメントIDを取得するにはどうすればよいですか?

JavaでプリペアドステートメントからオートインクリメントIDを取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-15 01:45:02952ブラウズ

How to Retrieve Autoincrement ID from Prepared Statements in Java?

プリペアド ステートメントからの自動インクリメント ID の取得

Java データベース クエリでプリペアド ステートメントを使用する場合、自動生成されたキーをデータベースで新しく作成されたレコードを参照します。

この例では、次のように使用します。準備されたステートメントを含む Statement.RETURN_GENERATED_KEYS はエラーをスローします。この問題を解決するには、コードを次のように変更します。

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

Statement.RETURN_GENERATED_KEYS を引数として prepareStatement() に渡すことにより、準備されたステートメントは自動生成されたキーをキャプチャするように構成されます。その後、次のコードを使用して ID を取得できます:

stmt.executeUpdate();
if (returnLastInsertId) {
    ResultSet rs = stmt.getGeneratedKeys();
    rs.next();
    auto_id = rs.getInt(1);
}

このソリューションにより、プリペアド ステートメントを使用してレコードを挿入するときに自動インクリメント ID を正常に取得できます。

以上がJavaでプリペアドステートメントからオートインクリメントIDを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。