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

SQL, Håndtering af tomme celler

Når vi opretter en tabel på denne måde:

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

SQL accepterer frit tomme værdier som poster:

INSERT INTO people VALUES (null, null); 

Dette kan være et problem, for nu har vi en række med null-værdier:

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

For at løse dette kan vi erklære begrænsninger på vores tabelrækker. NOT NULL forhindrer null-værdier:

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

Hvis vi prøver at udføre denne forespørgsel igen:

INSERT INTO people VALUES (null, null); 

Vi får en fejl, som denne:

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

Bemærk, at en tom streng er en gyldig ikke-null værdi.


  1. SYSDATETIMEOFFSET() Eksempler i SQL Server (T-SQL)

  2. Kapacitetsplanlægning for MySQL og MariaDB - Dimensionering af lagerstørrelse

  3. Kombination af UNION- og LIMIT-operationer i MySQL-forespørgsel

  4. Er det en dårlig idé at have et 'ELLER' i en INNER JOIN-tilstand?