Navicatはプレミアムは、あなたが同時にMySQLの、MariaDB、SQL Serverの、SQLiteは、OracleとPostgreSQLのデータベースに接続することができますプログラムを使用することができますデータベース管理ツールです。それは、アマゾンオーロラ、アマゾン赤方偏移、マイクロソフトのAzure、Oracleのクラウド、MongoDBのアトラス、アリ雲、雲とHuawei社テンセントクラウドやAmazon RDSと互換性のある他のクラウドデータベースです。
いくつかの非常に良い理由がありますなぜ代わりに、アプリケーションレベルで実行するデータベース・レベルで最高のデータ検証。例えば、複数のアプリケーションが同じデータ・ソースにアクセスすることができます。したがって、別の実装では異なる可能性があり、アプリケーション側のアプリケーションに検証ロジックに依存することなく、データの整合性及び有効性に依存することができます。彼らはデータを挿入または更新する前に行うことができるので、また、検証トリガは、理想的です。トリガは、エラーメッセージを提供するアプリケーション・データベースのトランザクションを防ぐことができます。
この記事では、MySQLデータベースのテーブル上の検証の挿入のためNavicatはプレミアムでトリガを記述します。
デザイントリガー
私たちは、てSakilaサンプルデータベースを使用します。それは、関連するフォームのテーマとして、いくつかの架空のビデオレンタル店が含まれています。ここでは、彼らNavicatはプレミアムナビゲーションペイン:
私たちは、映画のテーブルにトリガーを追加します。あなたはデザイナーでそれを開くと、複数のタブが表示されます。
「トリガー」タブをクリックし、テーブルに定義されているトリガの数を表示します。例えば、ins_filmトリガ情報film_textテーブルを挿入されたデータのコピーフィルム。これは、トリガーに割り当てられた一般的なタスクです。
今、私たちは、外国映画を使用original_language_id挿入してください、トリガーを追加します。
検索語の映画は、実際に言語テーブルに格納されます。
LANGUAGE_ID | 名前 | 最終更新 |
1 | 英語 | 2006年2月15日午前5時02分19秒 |
2 | イタリア | 2006年2月15日午前5時02分19秒 |
3 | 日本 | 2006年2月15日午前5時02分19秒 |
4 | 普通話 | 2006年2月15日午前5時02分19秒 |
5 | フランス | 2006年2月15日午前5時02分19秒 |
6 | ドイツ語 | 2006年2月15日午前5時02分19秒 |
どれもoriginal_language_idたはず除いて1をLANGUAGE_ID。私たちのトリガーはoriginal_language_id列の値をチェックします。
「デザインビュー」映画のリストでは1、「トリガー」タブを選択し、「トリガーを追加」ボタンをクリックしてください。
これは、トリガテーブルに新しい行を追加します。
2、名称「ins_validate_language」を割り当てるドロップダウンメニューから発生する前に選択し、[挿入]チェックボックスをクリックしてください。
トリガー本体である3:
BEGIN !NEW.language_id = 1、NEW.original_language_idがnullの場合は THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'オリジナル言語IDが外国語映画のために必要とされます。'; END IF; 終わり
これは、すべてのフィールドが満たされている、私たちのトリガーです。
4.トリガーを作成するには、「保存」ボタンをクリックします。
テストトリガ
今、予想通り、私たちのフリップフロップが動作していることを確認するための時間です。それをテストするには、のは、外国語映画LANGUAGE_IDでテーブルに新しい行を追加してみましょう。
1、テーブルエディタでムービーを開きます。
2.最後の行に移動します。
3、フォームビューを選択し、新しい行のプラス記号(+)ボタンを追加]をクリックします:
デフォルト値を持つ他のすべてのフィールド、または必要ではない; 4は、フォームで、あなただけのタイトルとLANGUAGE_IDを入力する必要があります。
5、(チェックマーク)ボタンを追加]をクリックし、あなたが私たちのエラーメッセージが表示されます。
結論
彼らはデータを挿入または更新する前に行うことができるため、トリガーは、理想的であることを確認します。私たちは、どのように検証目的のためにトリガを理解するために、Navicatはプレミアムでトリガを書きます。