私は自分のERとすべてのテーブルをMySQLで作成しましたが、自分の属性の最大値を設定する方法を知る必要があります。MySQLではどのように属性に制限を設定できますか
属性は車両であり、データベースには制限を10に設定し、11台目の車を追加できないようにします。
私はトリガーにあまり慣れていません。どのようにすればいいですか?
私は自分のERとすべてのテーブルをMySQLで作成しましたが、自分の属性の最大値を設定する方法を知る必要があります。MySQLではどのように属性に制限を設定できますか
属性は車両であり、データベースには制限を10に設定し、11台目の車を追加できないようにします。
私はトリガーにあまり慣れていません。どのようにすればいいですか?
挿入する前にテーブルの行数をカウントするだけでいいのですが? カウントが10を返した場合は、挿入しないでください。
ありがとう、私は行を数えることができたことを知らなかったが、私はそれを見て....これは非常に新しいが、私のテーブルです: – Reighlo
Mysqlは、トリガーを持つテーブルをINSERT INTOにすることを防ぐメカニズムを提供していません。 解決策は、NULLでない列のトリガーを使用することです。
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;
ありがとう、これは多くを助けます – Reighlo
同じ「車」で10行について話していますか? – danihp
テーブル構造を見せてもらえれば、それは解決策を提供するのに役立ちます。それがなければ、あまりにも多くの可能性があります。 – favoretti