Mysql
 sql >> Base de données >  >> RDS >> Mysql

Blocage des entrées de valeur nulle dans la base de données

Vous devez utiliser NOT NULL clause dans la définition de la colonne. Par exemple -

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

Cela fonctionne comme une contrainte.

Une solution de contournement pour contraindre vide valeurs -

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

Documentation - SIGNAL déclaration.