請求書を含むテーブルがあります。これらの請求書は、私が作成した VB.NET プログラムを介して挿入されます。自動インクリメントを使用すると、請求書がその請求書 ID を取得します。
私は今、1055 1056 1057のようなinvoiceidを持っています...
請求書を生成する別のデータベース (別の購入したソフトウェア プログラムから) もあり、cron ジョブを使用して特定の請求書をメイン テーブルにインポートしますが、プレフィックス 99 が付けられます。これらの請求書は同じ順序ではありません。それらに番号を付けるために自動インクリメントは使用しませんが、元の ID (他のデータベースから) + 99 プレフィックスを使用します。私のメインテーブルには、次のようなセカンダリデータベースからのinvoiceidがあります。
992013055 992013064 992013078
したがって、これにより、メインテーブルは次のようになります。
992013055 1055 1056 992013064 1057 992013078 ...
ここで問題は、自動インクリメントが「メイン」シーケンスにのみ従うようにすることです。上記の例では、次の自動インクリメント値は 1058 である必要がありますが、通常の自動インクリメントを使用すると 992013079 になります。これを強制する方法はありますか? または、「ALTER TABLE 請求書 AUTO_INCREMENT=bla +1」のように、cron ジョブの後に自動インクリメント値を「リセット」する必要があります。「bla」は、99 で始まらない列の最高値を取得するための新しい選択である必要があると思いますが、これを行う方法がわかりません。もちろん、請求書が 9900 になると、これは問題になります。
ありがとうございました