データベースに ID の選択を処理させます。上記のコードから、本当に必要なのは自動インクリメント整数 ID 列であり、データベースが確実に処理できることは明らかです。したがって、テーブルを適切に設定し、現在の挿入ステートメントの代わりに、次のようにします。
insert into XYZ values('Name')
データベース テーブルが既に設定されている場合は、次のようなステートメントを発行できると思います。
alter table your_table modify column you_table_id int(size) auto_increment
最後に、これらの解決策のいずれも何らかの理由で適切でない場合 (コメント セクションで示したように、テーブル スキーマを編集できないなど)、コメントで提案された他のユーザーの 1 人として実行し、同期されたメソッドを作成して、次の ID を見つけます。基本的には、int を返す静的メソッドを作成し、その静的メソッドで select id ステートメントを発行し、返された結果を使用して次のレコードをテーブルに挿入します。このメソッドは挿入の成功を保証しないため (外部アプリケーションも同じテーブルに挿入できるため)、例外をキャッチして失敗時に再試行する必要があります)。