Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 12402|Jawab: 3

[Sumber] Perbarui metode operasi kolom ID yang tumbuh sendiri di database SQL Server

[Salin tautan]
Diposting pada 23/08/2018 12.20.44 | | | |
Dalam pengembangan SQL Server harian, kolom identitas dari jenis Identitas sering digunakan sebagai jumlah struktur tabel yang tumbuh sendiri. Misalnya, nomor artikel, nomor seri catatan, dll. Referensi ke kolom yang diidentifikasi yang tumbuh sendiri sangat memfasilitasi pengembangan program basis data, tetapi terkadang jenis bidang yang membandel ini juga dapat menyebabkan beberapa masalah.

1. Ubah nilai bidang kolom identifikasi:

Terkadang, untuk mengimplementasikan fungsi, perlu untuk memodifikasi nilai bidang jenis Identitas tumbuh sendiri, tetapi operasi ini tidak diizinkan secara default karena jenis kolom identitas. Misalnya, jika ada 5 potongan data yang ditambahkan secara normal dalam database, dan 2 dihapus saat ini, maka jika data ditambahkan lagi, kolom identifikasi yang tumbuh sendiri akan secara otomatis diberi nilai 6, tetapi jika Anda ingin menetapkan nilai 3 saat menyisipkan data, itu tidak diizinkan secara default. Jika Anda ingin mengubah nilai bidang ini, Anda dapat sepenuhnya mengontrol penyisipan nilai bidang identifikasi, masih ada metode, haha.

ATUR IDENTITY_INSERT /[TABEL/] [AKTIF| MATI]
Dengan menggunakan pernyataan di atas, Anda dapat dengan mudah mengontrol apakah kolom pengidentifikasi yang tumbuh sendiri dalam tabel akan tumbuh secara otomatis, yaitu, apakah Anda diizinkan untuk menentukan nilai kolom pengidentifikasi secara manual saat menyisipkan rekaman. Jika ditentukan sebagai aktif, Anda dapat menentukan nilai bidang kolom pengenal saat menyisipkan, yang tidak secara otomatis menumbuhkan nilai yang ditetapkan. Tentu saja, jika Anda menggunakannya, Anda perlu menggunakan pernyataan ini untuk mematikan sakelar ke status default nonaktif, jika tidak, bidang tidak akan secara otomatis meningkatkan nilai yang ditetapkan saat Anda menyisipkan data lain kali.

2. Atur ulang nilai bidang kolom identifikasi:

Ketika bagian dari catatan data dihapus, catatan data baru ditambahkan nanti, nilai kolom identifikasi akan memiliki interval idle yang besar, yang terlihat sangat tidak menyenangkan. Bahkan jika Anda menghapus semua rekaman dalam tabel, nilai kolom identitas akan terus meningkat secara otomatis dan meningkat tanpa henti, daripada tumbuh dari awal. Nilai benih dari ladang yang tumbuh sendiri dapat diatur ulang dengan menggunakan pernyataan berikut:

DBCC CHECKIDENT(TABEL, [RESEED| NORESEED], [1])
Pernyataan di atas akan memaksa nilai benih tabel yang ditentukan untuk diatur ulang ke 1. Namun, jika Anda tidak ingin mengatur ulang seed ke 1, Anda dapat mengganti parameter ketiga dengan nilai seed yang ingin Anda gunakan. Jika Anda ingin mengetahui benih saat ini alih-alih mengatur ulang benih yang teridentifikasi, Anda perlu menggunakan NORESEED alih-alih mengatur parameter ketiga.




Mantan:SQL Server 2012 kolom tumbuh otomatis dengan masalah lompat nilai
Depan:Windows gagal memulai layanan Redis, kesalahan 1067: Proses berakhir secara tak terduga.
 Tuan tanah| Diposting pada 23/08/2018 12.57.08 |
1. Ketika semua data dalam tabel dihapus, itu akan secara otomatis ditingkatkan menjadi nol. ( memotong tabel TableName )

2. Jangan hapus data tabel, langsung setel ulang nilai pertumbuhan otomatis. ( DBCC CHECKIDENT('TableName', RESEED, 0)
 Tuan tanah| Diposting pada 23/08/2018 13.01.32 |
 Tuan tanah| Diposting pada 13/02/2019 09.59.15 |
Lihat nilai kolom yang bertambah sendiri saat ini dalam tabel:
    DBCC CHECKIDENT (Nama Tabel)

Ubah nilai saat ini dari kolom yang bertambah sendiri dalam tabel:
    DBCC CHECKIDENT (TableName, RESEED, nilai)
    RESEED bukanlah nama kolom, itu ditulis dengan cara yang tetap.


Misalnya, jika saya ingin mengubah nilai saat ini dari kolom yang bertambah sendiri dalam tabel Divisi menjadi 30, saya dapat menggunakan perintah berikut
DBCC CHECKIDENT (Divisi, RESEED, 30)
Kemudian gunakan
DBCC CHECKIDENT (Divisi)
Anda dapat melihat bahwa nilai saat ini adalah 30
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com