Nota: Atribut identiti hanya boleh ditetapkan untuk lajur yang tidak membenarkan null dan mempunyai jenis data perpuluhan, int, angka, smallint, bigint atau tinyint. Selain itu, sifat identiti tidak boleh ditetapkan pada lajur kunci utama.
Satu. Ubah suai atribut identiti lajur melalui alatan pengurusan SQL
1 Dalam Penjelajah Objek, klik kanan jadual yang mengandungi lajur yang jenis datanya ingin anda ubah, kemudian klik Ubah suai. Meja akan dibuka dalam pereka bentuk meja.
2. Kosongkan kotak pilihan "Benarkan Nulls" untuk lajur yang ingin anda ubah.
3. Dalam tab "Sifat Lajur", kembangkan sifat "Spesifikasi Pengenalan".
4 Klik sel grid sub-sifat "Yes Identity" dan pilih "Yes" daripada senarai juntai bawah.
5 Masukkan nilai dalam sel "Identification Seed". Nilai ini akan diberikan pada baris pertama jadual. Secara lalai, nilai ini ialah 1.
6 Taipkan nilai dalam sel "Peningkatan Pengenalpastian". Nilai ini ialah kenaikan baris demi baris berdasarkan "benih pengenalan". Secara lalai, kenaikan ditetapkan kepada 1.
Dua. Pernyataan SQL untuk mencipta
Nyatakan medan penomboran automatik semasa membuat jadual
BUAT JADUAL [dbo].[UserInfor](
[ID Pengguna] [int] IDENTITI(100,2) BUKAN NULL, --Nilai awal dan langkah kenaikan boleh ditentukan di sini
[Nama Pengguna] [nchar](10) BUKAN NULL, )
Anda boleh mencipta jadual dan menetapkan sifat "Lajur Identiti" lajur di dalamnya (seperti "ID") kepada "Ya", kemudian tetapkan benihnya (nilai awal) dan kenaikannya. Sebagai contoh, jika anda menetapkan benih kepada 1 dan kenaikan kepada 1 (tetapan lalai), urutan ID yang dijana ialah: 1, 2, 3, 4,…
Apabila bilangan rekod tidak begitu besar (lebih daripada 10 juta), nilai ini adalah unik, iaitu, kedua-duanya tidak akan sama.
Tetapi akan ada masalah Sebagai contoh, anda menjana 10 rekod mengikut urutan:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Kemudian anda memadam rekod No. 3, jadi rekod yang selebihnya ialah:
1, 2, 4, 5, 6, 7, 8, 9, 10
Jika anda mahu nombor itu meningkat secara beransur-ansur daripada 1 tanpa rehat di tengah, anda boleh menetapkan lajur bukan pengecam lain, seperti "nombor". Apabila menambah rekod baharu, anda boleh menggunakan kaedah berikut:
Dalam pernyataan pertanyaan, anda boleh menggunakan pernyataan berikut untuk memilih nilai maksimum lajur nombor dalam jadual: PILIH @nombor = MAX(nombor) DARI nama jadual
masukkan ke dalam nilai nama jadual(nombor)(@nombor+1)
------------------------
Di atas adalah demonstrasi menggunakan pernyataan SQL, tetapi diandaikan bahawa anda menggunakan prosedur tersimpan untuk mengendalikan pangkalan data. Jika anda menggunakan bahasa ASP, anda boleh melakukannya seperti berikut:
psql = "PILIH MAX(nombor) SEBAGAI nombor max DARI nama jadual"
rs.open psql,conn,3,3
nombor maksima=rs("nombor maksima")
Baca nilai nombor maksimum, kemudian tambah 1, dan kemudian gunakannya dalam penyata penambahan data anda.
------------------------
Dengan cara ini, anda boleh menjana nombor secara manual, dan kemudian tulis program seperti ini apabila memadam rekod:
' Anggapkan nombor rekod yang akan dipadamkan ialah @n
padam nama jadual di mana nombor=@n
Kemas kini rekod dalam jadual bernama tablename, kurangkan nilai medan nombor sebanyak 1, tetapi kemas kini hanya apabila nombor lebih besar daripada nilai parameter @n.
Selepas melakukan ini, kami boleh menyusun semula susunan penomboran, memadam rekod dan menomborkannya semula. Begitu juga, saya juga boleh menunjukkan kepada anda demonstrasi pernyataan SQL, tetapi kali ini kod menggunakan ASP+SQL tidak lagi disediakan. Sila rujuk dan fahami sendiri.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penomboran automatik dalam SQL Server 2008?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!