Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Server, tidak dapat memasukkan nol ke bidang kunci utama?

Kunci utama di apa saja database relasional tidak boleh NULL - ini adalah salah satu karakteristik utama dan fundamental dari kunci utama.

Lihat:SQL by Design:cara Memilih kunci utama

PERBARUI: ok, jadi Anda menginginkan kunci utama "peningkatan otomatis" di SQL Server.

Anda perlu mendefinisikannya sebagai IDENTITAS INT dalam pernyataan CREATE TABLE Anda:

 CREATE TABLE dbo.YourTable(ID INT IDENTITY, col1 INT, ..., colN INT)

dan kemudian ketika Anda melakukan INSERT, Anda perlu secara eksplisit menentukan kolom yang akan disisipkan, tetapi jangan tentukan kolom "ID" dalam daftar itu - maka SQL Server akan menangani pencarian nilai yang tepat secara otomatis:

 INSERT INTO dbo.YourTable(col1, col2, ..., colN) -- anything **except** `ID`      
 VALUES(va1l, val2, ..., valN)

Jika Anda ingin melakukan ini setelah membuat tabel, Anda dapat melakukannya di desainer tabel SQL Server Management Studio:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Periksa Jenis Parameter Fungsi Partisi di SQL Server (T-SQL)

  2. Tingkatkan penyetelan kinerja SQL Server dengan 3 tips ini

  3. Kueri Indeks Pembuatan Ulang SQL Server

  4. Cara Secara Proaktif Mengumpulkan Informasi Fragmentasi Indeks SQL Server

  5. TAMPILKAN SEMUA data Tanggal antara dua tanggal; jika tidak ada baris untuk tanggal tertentu maka tampilkan nol di semua kolom