0

Table1データベース トランザクションを作成し、 DBにレコードを挿入していますH2。しかし、まだコミットは行われていません。このプロセスの間に、半分のレコードを実行した後、1 つのcreateステートメントを実行します (作成された Table2)。

Table2が作成され、それに伴い、以前のINSERTステートメントも DB にコミットされます。

この後、 にさらにレコードを挿入しています。挿入に失敗した場合でも、 のステートメントのTable1前に挿入された Table1 のレコードが表示されます。createTable2

このため、トランザクションが失敗した後でも、DB にいくつかのレコードが表示されます。DBにゼロのレコードがあると思っていました。

なぜこうなった?

4

1 に答える 1