Java の準備済みステートメントを使用して自動インクリメント ID を取得する
JDBC では、挿入操作の後に自動生成された主キーを取得することが多くの場合に重要ですアプリケーション。これは通常、createStatement() で RETURN_GENERATED_KEYS フラグを使用して行われます。ただし、プリペアド ステートメントでこのアプローチを使用すると、プリペアド ステートメントはデフォルトで RETURN_GENERATED_KEYS フラグをサポートしていないため、エラーが発生する可能性があります。
ありがたいことに、プリペアド ステートメントを使用して自動生成された ID を取得する解決策があります。 Statement.RETURN_GENERATED_KEYS フラグを prepareStatement() メソッドの 2 番目のパラメーターとして追加すると、この機能を有効にできます。指定したコードを変更する方法は次のとおりです。
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); }
準備されたステートメントを実行すると、stmt.getGeneratedKeys() メソッドは自動生成された ID を含む ResultSet を返します。これにより、ID を取得し、アプリケーションで必要に応じて使用できるようになります。
以上がJavaでプリペアドステートメントを使用して自動インクリメントIDを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。