Connector/J を使用して、マスター テーブルへのバッチ挿入を実行した後、詳細テーブルへのバッチ挿入を実行したいと考えています (PreparedStatement.executeBatch()
両方の場合)。私はオンラインで多くの情報を見つけていないので、これを経験した人からのフィードバックを探しています.
Statement.getGeneratedKeys()
詳細挿入で外部キーとして使用できるように、マスター テーブルに新しく挿入された行の ID を取得するために使用 できますか?すべてのクエリが挿入されなかった場合 (たとえば、
insert ignore
orinsert ... on duplicate key update
クエリがあった場合) はどうなるでしょうか? すべてのステートメントに対して行を取得しStatement.getGeneratedKeys()
ますか、それとも新しいステートメントに対してのみ行を取得しますか?Statement.getGeneratedKeys()
挿入されたマスタ レコードの 1 つにエラーがあり 、接続文字列にcontinueBatchOnError
設定されていると何が 返されますか?true
Connector/J バージョン 5.0.x と 5.5.x の間で、関連する動作に違いはありますか? MySQL 5.0 と 5.1 ではどうですか?
他に知っておくべき問題や落とし穴はありますか?
これを行うより良い方法はありますか?