ホームページ >データベース >mysql チュートリアル >MySQL フィールドでゼロ値を防止しますか?

MySQL フィールドでゼロ値を防止しますか?

PHPz
PHPz転載
2023-09-02 17:57:071440ブラウズ

防止 MySQL 字段出现零值?

テーブルで 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 サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。