sql >> Databasteknik >  >> RDS >> Mysql

Blockering av nollvärden i databasen

Du måste använda NOT NULL klausul i kolumns definition. Till exempel -

CREATE TABLE book (
  author_name varchar(50) NOT NULL,
  price decimal(19, 2) DEFAULT NULL,
  title varchar(255) DEFAULT NULL
);

Detta fungerar som en begränsning.

En lösning på begränsningen tom värden -

CREATE TRIGGER trigger1
  AFTER INSERT
  ON book
  FOR EACH ROW
BEGIN
  IF author_name = '' THEN
    SIGNAL SQLSTATE VALUE '02001'
      SET MESSAGE_TEXT = 'Blank value is not allowed'; -- Raise error
  END IF;
END

Dokumentation - SIGNAL uttalande.



  1. Importera .sql-fil i Access

  2. Crystal Report-fel. Det gick inte att öppna anslutningen

  3. Postgres hur man implementerar beräknad kolumn med klausul

  4. använda nollor i ett mysqli-förberedt uttalande