我在MySQL中创建了我的ER和所有表格,但我需要知道如何为我的一个属性设置允许的最大数量。
该属性是车辆,我希望我的数据库将限制设置为10,并且不允许用户添加第11辆车。
我对触发器不太熟悉。我怎么开始?
答案 0 :(得分:1)
为什么不在插入之前计算表中的行数? 如果计数返回10,请不要插入。
答案 1 :(得分:1)
Mysql没有提供一种机制来阻止INSERT INTO带有触发器的表。 解决方案是使用非空列的触发器。
CREATE TRIGGER carsCheck BEFORE INSERT ON cars
for each row
begin
DECLARE counter INT;
SET counter = (select count(id) from cars);
if counter > 10 then
NEW.notNulCol = null;
end if;
end;