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

Nullwerte in MySQL-Feldern verhindern?

PHPz
Freigeben: 2023-09-02 17:57:07
nach vorne
1486 Leute haben es durchsucht

防止 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)
Nach dem Login kopieren

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 ;
Nach dem Login kopieren

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
Nach dem Login kopieren

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)
Nach dem Login kopieren

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

mysql> select *from DemoTable;
Nach dem Login kopieren

Dadurch wird die folgende Ausgabe erzeugt -

+-------+
| Value |
+-------+
| 10    |
| -1000 |
+-------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage