2011-12-04 15 views
0

我在MySQL中創建了我的ER和我所有的表,但我需要知道如何設置我的一個屬性允許的最大數。在MySQL中,我如何設置屬性的限制

該屬性是一個車輛,我希望我的數據庫設置限制爲10,並且不允許用戶添加第11輛汽車。

我不太熟悉觸發器。我該如何開始?

+0

您是否在談論與同一'車'的10行? – danihp

+0

如果您非常善良地展示表格結構,它將有助於提供解決方案。沒有它,只有太多的可能性。 – favoretti

回答

1

爲什麼不在插入之前計算表中的行數? 如果計數返回10,則不要插入。

+0

謝謝,我不知道我們可以計算行數,但我會研究這個......在這個非常新的,但下面是我的表格: – Reighlo

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; 
+0

謝謝,這有助於很多 – Reighlo