Database
 sql >> база данни >  >> RDS >> Database

SQL, Обработка на празни клетки

Когато създаваме таблица по този начин:

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

SQL свободно приема празни стойности като записи:

INSERT INTO people VALUES (null, null);

Това може да е проблем, защото сега имаме ред с нулеви стойности:

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

За да разрешим това, можем да декларираме ограничения върху редовете на нашата таблица. NOT NULL предотвратява нулеви стойности:

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

Ако се опитаме да изпълним тази заявка отново:

INSERT INTO people VALUES (null, null);

Ще получим грешка, като тази:

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

Имайте предвид, че празен низ е валидна стойност, различна от нула.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пространството за таблици SYSMMGMTDATA е ПЪЛНО в хранилището за управление на грид инфраструктурата (MGMTDB)

  2. Лоши навици:Преброяване на редовете по трудния начин

  3. Анализ на данни срещу наука за данни:Каква е разликата?

  4. Как да изберете правилните типове данни

  5. Схемата на снежинката