所以,让我说我有一个表格,其中包含一个列" id_author" ,我想设定相同值出现的限制;例如:不能超过3个" id_author"因此,当我插入第4个时,它被拒绝了。
有没有办法实现这个?感谢
答案 0 :(得分:3)
你可以在插入之前使用trigger
,如果它违反你的条件就会发出信号:
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