0

2 つの異なるアプリケーションからデータが挿入されたテーブルがあります。1 つは INSERT QUERIES を使用するレガシー アプリケーションで、もう 1 つは休止状態を使用して値を挿入します。

しかし、手動挿入の実行後に挿入しようとすると、休止状態の挿入 (generator="identity") は初めて失敗します (インデックスの制約)。

しかし、2 回目の試行では、挿入が機能しています。なぜこれが起こっているのですか?

その休止状態は、次の主キー値をキャッシュしてから、手動の max+1 挿入と競合するその値を使用していますか?

親切に助けて

4

1 に答える 1

0

キージェネレータの問題が疑われます。つまり、手動挿入は次の主キーを取得するために1つのメカニズムを使用します(最大ID + 1を選択する可能性があります)が、休止状態はネイティブデータベースメソッドを使用するため、次の主キーを「推測」しようとすると失敗します

両方のシステムが同じ方法を使用して主キーを生成する限り、問題にはなりません。

于 2013-07-16T03:20:18.480 に答える