В MySQL, как я могу установить ограничение для атрибута - PullRequest
0 голосов
/ 04 декабря 2011

Я создал свой ER и все мои таблицы в MySQL, но мне нужно знать, как установить максимальное число, допустимое для одного из моих атрибутов.

Атрибут является транспортным средством, и я хочу, чтобы моя база данных установила ограничение на 10 и не позволяла пользователю добавлять 11-ую машину.

Я не слишком знаком с триггерами. Как я могу начать?

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

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;
1 голос
/ 04 декабря 2011

Почему бы вам просто не посчитать количество строк в вашей таблице перед вставкой?Если счет вернул 10, не вставляйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...