問題タブ [mysql-error-1442]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL トリガー: エラー #1442
私は MySQL データベースに取り組んでおり、トリガーを作成する際に問題に直面しています。データベースに、1 対多の関係を持つ "user" と "book" の 2 つのテーブルがあり、user_id が "book" テーブルの外部キーであるとします。本が削除されたときに「user」テーブルの「book_count」列を 1 減らすトリガーを作成しました。
ユーザーが削除されたときに、ユーザーのすべての本を削除したいと思います。私はこれを試しました:
これにより、次のエラーが返されます。
エラーは、削除しようとしているユーザー テーブルの行を更新しようとする最初のトリガーに対するものであることがわかります。トリガーで実行したい場合の回避策はありますか?
mysql - 更新をトリガーしようとしてエラー 1442 が発生しました
chatroompost.view
更新が発生したときに1から0への更新をトリガーしようとしていましたが、chatroompost.likecount <= -5
クエリ:
しかし、私は得ました
エラー コード: 1442。このストアド関数/トリガーを呼び出したステートメントで既に使用されているため、ストアド関数/トリガーのテーブル 'chatroompost' を更新できません。
REPLACE
私はすべてAFTER
を試しましBEFORE
たが、それでも同じエラーが発生しました。
mysql - エラー コード: 1442。格納された関数/トリガーでテーブル 'students' を更新できません
次のトリガーがあります。
エラー:
エラー コード: 1442。このストアド関数/トリガーを呼び出したステートメントで既に使用されているため、ストアド関数/トリガーのテーブル 'students' を更新できません。
mysql - SQL エラー (1442) 、解決策はありますか?
MySQL でこのトリガーを作成しました (テーブル product の更新後):
しかし、価格を更新すると、このエラーが発生します
: SQL エラー (1442) このストアド ファンクション/トリガーを呼び出したステートメントで既に使用されているため、ストアド ファンクション/トリガーのテーブル 'product' を更新できません。*/
次のような 2 つのテーブルと 2 つのトリガーを作成しました。
Trigger 1
(テーブル製品の更新後):
Trigger 2
(テーブルに挿入した後product_price
):
しかし、私は再びそのエラーを受けました。
子の価格が変更されたときに親の価格を更新する必要があるのですが、解決策はありますか?
ありがとう。
mysql - MySQL トリガーがエラー 1064 をスローする
まず第一に、同じタイプの質問がたくさんあることは知っていますが、それらは私の問題を解決しませんでした!
指定された 2 列のセットに対して 10 行を超える場合、最も古い行を削除したいと考えています。私のトリガーは次のようになります。
ファイルにトリガーがあり、実行するとエラーがスローされます。完全なエラーは
行 25 は、DELIMITER;
私のテーブルは次のようになります。
エラーをスローした後でもトリガーが追加されます。しかし、(columnA と columnB の特定の組み合わせに対して) 11 番目のエントリをテーブルに追加すると、次のエラーが発生します。
トリガー内の select ステートメントと delete ステートメントは、もちろん適切な値を使用して個別に実行すると問題ありません。
MySQL のバージョン5.5.46
修正/提案に非常に感謝します。
mysql - MySql - AFTER INSERT トリガーは、それを呼び出した行を削除できます
可能な限り簡単な言葉で言えば、実際にトリガーに設定されている行を削除することは可能ですか。つまり、トリガーがあり、AFTER INSERT ON <table2>
トリガー内にSQLがありますINSERT
/UPDATE
別の<table1>
( a に基づくWHERE
)、そして最終的にエントリを削除する傾向があります/の行 (基本的にトリガーを起動した行)。
トリガー SQL:
DELETE
(のすぐ上)がなければEND;
、トリガーは正常に動作します-UPDATE
そうでなければ存在する場合INSERT
- withDELETE
ステートメントは次のエラーを返します:
ちなみに、エラーは一目瞭然ですが、これが可能かどうかを確認したかったのですが、そうでない場合は、他の方法である可能性があります。つまり、adddata_tmp
テーブルをすべて空にする (またはクリーンアップする) 必要があります。時間(データをメインテーブルにINSERT
コピーする場合)adddata
私が念頭に置いている 1 つのアイデアは、 を使用して、いくつかのフィールドに基づいてEVENT
をクリーンアップすることです。これは、トリガーの最後のステートメントとして ( の代わりに) 設定されます。adddata_tmp
status
DELETE