この質問が SQL、MySQL、ストアド ルーチン、さらには JDBC のドメインに適切に含まれているかどうかはわかりません。基本的に、次のようなSQL関数が必要です。
INSERT IGNORE (id, data) INTO table
SELECT id FROM table WHERE `data` = data
これは、生の SQL またはストアド ルーチンを介して Java から開始する必要があります。insert ignore
が成功した場合、挿入したばかりのものを取得するために SQL クエリをすぐに実行する必要がないため、これは非常に貧弱に見えます。自動生成されることに注意してくださいid
。SQLクエリの数で効率的で読みやすいなど、これを行う最良の方法は? INSERT IGNORE がどれほど効率的であるか、私にはまったくわかりません。