sql >> Database >  >> RDS >> Database

SQL, lege cellen afhandelen

Als we een tabel op deze manier maken:

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

SQL accepteert vrijelijk lege waarden als records:

INSERT INTO people VALUES (null, null);

Dit kan een probleem zijn, omdat we nu een rij hebben met null-waarden:

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

Om dit op te lossen, kunnen we beperkingen op onze tabelrijen declareren. NOT NULL voorkomt null-waarden:

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

Als we deze query opnieuw proberen uit te voeren:

INSERT INTO people VALUES (null, null);

We zouden een foutmelding krijgen, zoals deze:

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

Merk op dat een lege string een geldige niet-null-waarde is.


  1. Resultaten beperken in T-SQL

  2. Hoe zorgen dat gegevens niet worden gesorteerd?

  3. Herhaal een string meerdere keren in MySQL - REPEAT()

  4. bbPress:Hoe vind je toewijzingen van bijlagen bij hun respectievelijke berichten