sql >> Databasteknik >  >> RDS >> Database

SQL, Hantera tomma celler

När vi skapar en tabell på detta sätt:

CREATE TABLE people (
  age INT,
  name CHAR(20)
);

SQL accepterar fritt tomma värden som poster:

INSERT INTO people VALUES (null, null);

Detta kan vara ett problem, för nu har vi en rad med nollvärden:

 age |  name  
-----+--------
  37 | Flavio
   8 | Roger
     | 

För att lösa detta kan vi deklarera begränsningar på våra tabellrader. NOT NULL förhindrar nullvärden:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL
);

Om vi ​​försöker köra den här frågan igen:

INSERT INTO people VALUES (null, null);

Vi skulle få ett felmeddelande, så här:

ERROR:  null value in column "age" violates not-null constraint
DETAIL:  Failing row contains (null, null).

Observera att en tom sträng är ett giltigt icke-nullvärde.


  1. Att skriva en fil med flera trådar

  2. Hur man använder Case Statement för villkorlig formatering i Select Query - SQL Server / TSQL självstudie del 116

  3. PostgreSQL Tuning:Viktiga saker för att driva prestanda

  4. Hur man väljer jämförelse av två kolumner som en kolumn i Oracle