0
考える表Iに挿入された値をチェックする必要はINSERTトリガする前に、複数の挿入
CREATE TABLE testtab(
col int
)
で特定の行を無視して、値が条件を満たしている場合、これらの行を無視します。
トリガーがすべての行を無視しますが、私はちょうど「55」無視必要があります。
DELIMITER $$
CREATE TRIGGER check_rows BEFORE INSERT ON testtab
FOR EACH ROW
BEGIN
IF new.col > 7 THEN
-- here need ignore that row and do not insert
END IF;
END; $$
私はsignal sqlstate '45000'
を使用することができますが、問題は、私は複数の挿入構文を使用する場合ということです。だから、トリガーは次のようになります、 "4"を挿入します。
複数の/一括挿入を使用すると、特定の行を無視する方法と、すべてを削除する方法はありますか?
1. [これを参照](https://msdn.microsoft.com/en-gb/library/ms178129.aspx) 2. [こちらも参照](https://msdn.microsoft.com/en) -gb/library/ms179250.aspx) – ARr0w
私はこれがトリガーで本当に可能だとは思わない、つまり、ある項目を無視し、シグナルでエラーを発生させない限り別の項目を挿入する。入力値をチェックしてアプリケーションレベルのコーディングの操作を実行し、次に挿入クエリを生成すると、これははるかに簡単になります。 –