Heim  >  Artikel  >  Datenbank  >  Nullwerte in MySQL-Feldern verhindern?

Nullwerte in MySQL-Feldern verhindern?

PHPz
PHPznach vorne
2023-09-02 17:57:071412Durchsuche

防止 MySQL 字段出现零值?

Verwenden Sie den BEFORE INSERT-Trigger für die Tabelle, um Nullwerte in MySQL-Feldern zu verhindern. Lass uns zuerst eine Tabelle erstellen -

mysql> create table DemoTable(Value int);
Query OK, 0 rows affected (0.85 sec)

Lass uns einen Trigger erstellen, um zu verhindern, dass Nullwerte in einem MySQL-Feld erscheinen -

mysql> DELIMITER //
mysql> create trigger preventing_to_insert_zero_value
   before insert on DemoTable
   for each row
   begin
      if(new.Value = 0) then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'You can not provide 0 value';
   END if;
end
//
Query OK, 0 rows affected (0.34 sec)
mysql> DELIMITER ;

Lass uns einen 0-Wert in die Tabelle einfügen und prüfen, ob der Wert eingefügt wird. Es wird nicht erlaubt -

mysql> insert into DemoTable values(0);
ERROR 1644 (45000): You cannot provide 0 value

In der obigen Tabelle können also aufgrund von Triggern keine 0-Werte eingefügt werden. Sie können jedoch einige andere Werte einfügen.

Jetzt fügen wir einige Datensätze mit dem Einfügebefehl -

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(-1000);
Query OK, 1 row affected (0.41 sec)

in die Tabelle ein. Verwenden Sie die SELECT-Anweisung, um alle Datensätze in der Tabelle anzuzeigen -

mysql> select *from DemoTable;

Dadurch wird die folgende Ausgabe erzeugt -

+-------+
| Value |
+-------+
| 10    |
| -1000 |
+-------+
2 rows in set (0.00 sec)

Das obige ist der detaillierte Inhalt vonNullwerte in MySQL-Feldern verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen