Rumah > pangkalan data > tutorial mysql > Adakah Identiti Pelayan SQL (Auto-Peningkatan) Terus Menaik Selepas Pulangan Balik Urus Niaga?

Adakah Identiti Pelayan SQL (Auto-Peningkatan) Terus Menaik Selepas Pulangan Balik Urus Niaga?

Patricia Arquette
Lepaskan: 2025-01-13 22:53:48
asal
973 orang telah melayarinya

Does SQL Server Identity (Auto-Increment) Continue Incrementing After a Transaction Rollback?

Tingkah laku tambahan lajur autokenaikan SQL Server selepas rollback transaksi: bukan masalah

Andaikan urus niaga .NET memasukkan data ke dalam pangkalan data SQL Server 2005 dengan kunci utama peningkatan automatik. Kaedah Rollback() melancarkan operasi sisipan baris dengan betul apabila ralat ditemui dalam transaksi. Walau bagaimanapun, sisipan seterusnya ke dalam jadual yang sama menambah lajur autokenaikan seolah-olah tiada pemulangan semula berlaku, mewujudkan jurang dalam jujukan.

Fahami ciri autokenaikan

Adalah penting untuk memahami bahawa reka bentuk nombor penambahan automatik adalah bukan transaksi. Rasional untuk reka bentuk ini ialah penyekatan mungkin berlaku jika urus niaga lain mesti menunggu untuk menggunakan atau melancarkan semula nombor yang dinaikkan sebelum ia boleh diteruskan.

Untuk menggambarkan perkara ini, pertimbangkan senario berikut di mana Pengguna 1 dan Pengguna 2 berinteraksi dengan Jadual A menggunakan medan kenaikan automatik sebagai lajur ID:

<code>用户 1
------------
begin transaction
insert into A ...
insert into B ...
update C ...
insert into D ...
commit

用户 2
-----------
begin transaction
insert into A ...
insert into B ...
commit</code>
Salin selepas log masuk

Jika transaksi pengguna 2 berlaku selepas transaksi pengguna 1, walaupun sedikit kemudian, operasi sisipan mereka ke jadual A akan terpaksa menunggu sehingga keseluruhan transaksi pengguna 1 selesai, hanya untuk memastikan bahawa kali pertama transaksi itu datang dari jadual A Sama ada nombor kenaikan automatik yang dimasukkan digunakan.

Kesimpulan

Oleh itu, gelagat lajur kenaikan automatik yang terus meningkat selepas urus niaga ditarik balik bukanlah satu ralat, tetapi strategi yang direka dengan sengaja. Jika nombor kenaikan berurutan yang tepat diperlukan, mekanisme lain harus dipertimbangkan untuk menjana nilai tersebut.

Atas ialah kandungan terperinci Adakah Identiti Pelayan SQL (Auto-Peningkatan) Terus Menaik Selepas Pulangan Balik Urus Niaga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan