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

PHPz
リリース: 2023-09-02 17:57:07
転載
1432 人が閲覧しました

防止 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート