sql >> Databáze >  >> RDS >> Mysql

Blokování vstupů nulových hodnot do databáze

Musíte použít NOT NULL klauzule v definici sloupce. Například -

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

Funguje to jako omezení.

Řešení, jak omezit prázdné hodnoty -

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

Dokumentace – SIGNAL prohlášení.



  1. Jak přeskočit řádek při importu špatného výpisu MySQL

  2. Oracle ekvivalentní MySQL INSERT IGNORE?

  3. Vytvoření vysoce dostupné databáze pro Moodle pomocí replikace MySQL

  4. Oracle TO_DATE nefunguje