sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server, kan du ikke indsætte null i primærnøglefeltet?

Primære nøgler i enhver relationel database må ikke være NULL - det er en af ​​de vigtigste, grundlæggende egenskaber ved en primær nøgle.

Se:SQL by Design:hvordan man vælger den primære nøgle

OPDATERING: ok, så du vil have en "auto-increment" primær nøgle i SQL Server.

Du skal definere det som en INT IDENTITY i din CREATE TABLE-sætning:

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

og så når du laver en INSERT, skal du udtrykkeligt angive de kolonner, der skal indsættes, men du skal bare ikke angive "ID"-kolonnen på den liste - så vil SQL Server håndtere at finde den korrekte værdi automagisk:

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

Hvis du ønsker at gøre dette efter allerede at have oprettet tabellen, kan du gøre det i SQL Server Management Studios tabeldesigner:



  1. Hvordan kan jeg indsætte JSON-objekt i Postgres ved hjælp af Java readyStatement?

  2. Hvordan håndterer man fejl for duplikerede poster?

  3. A.* er ikke i GROUP BY med venstre join på laravel query Builder

  4. mysql REGEXP matcher ikke