2016-12-04 15 views
2

だから、 "id_author"というカラムを持つテーブルがあるとしましょう。同じ値のオカレンスに制限を設定したいと思います。例:3つ以上の同じ "id_author"値を持つことはできませんので、4番目のものを挿入すると拒否されます。mysqlテーブルの値の制限オカレンスを設定する

これを実装する方法はありますか?場合に信号を送出しますありがとうございますが、挿入前にtriggerを使用することができます

答えて

3

、それはあなたの条件に違反:

CREATE TRIGGER tooManyRecords 
BEFORE INSERT ON yourTable 
FOR EACH ROW 

BEGIN 
DECLARE counter INTEGER; 

SELECT COUNT(*) INTO counter FROM yourTable 
WHERE id_author = NEW.id_author; 

IF counter >= 3 THEN 
    SIGNAL SQLSTATE '45000' SET message_text = 'there are already 3 records for the provided id'; 
END 
+0

はどうもありがとうございました、それは私が行う方法を学びたいと思っまさにだ:) – Silversprint

関連する問題