テーブルで BEFORE INSERT トリガーを使用して、MySQL フィールドにゼロ値が表示されないようにします。まずテーブルを作成しましょう -
mysql> create table DemoTable(Value int); Query OK, 0 rows affected (0.85 sec)
MySQL フィールドにゼロ値が表示されないようにトリガーを作成しましょう -
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 ;
テーブルに 0 値を挿入してチェックしてみましょう値が挿入される場合。 -
mysql> insert into DemoTable values(0); ERROR 1644 (45000): You cannot provide 0 value
は許可されません。そのため、上記の表では、トリガーにより 0 の値を挿入できません。ただし、他の値を挿入することもできます。
ここで、insert コマンドを使用してテーブルにいくつかのレコードを挿入しましょう-
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)
select ステートメントを使用してテーブル内のすべてのレコードを表示します-
mysql> select *from DemoTable;
これにより、次の出力が生成されます。 -
rreeee以上がMySQL フィールドでゼロ値を防止しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。