sql >> Databáze >  >> RDS >> Database

SQL, Manipulace s prázdnými buňkami

Když vytvoříme tabulku tímto způsobem:

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

SQL volně přijímá prázdné hodnoty jako záznamy:

INSERT INTO people VALUES (null, null);

To může být problém, protože nyní máme řádek s hodnotami null:

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

Abychom to vyřešili, můžeme deklarovat omezení na řádcích naší tabulky. NOT NULL zabrání hodnotám null:

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

Pokud se pokusíme provést tento dotaz znovu:

INSERT INTO people VALUES (null, null);

Dostaneme chybu, jako je tato:

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

Všimněte si, že prázdný řetězec je platná hodnota bez nuly.


  1. Odečítání dat v Oracle – datový typ čísla nebo intervalu?

  2. MySQL Group By a Součet celková hodnota jiného sloupce

  3. TRUNC(číslo) Funkce v Oracle

  4. Normalizujte dolní indexy pole pro jednorozměrné pole tak, aby začínaly 1