Триггер с обновлением

0

когда я обновляю данные в таблице. Форма в таблицах. Из номера сборника следует вычесть -1. пожалуйста, помогите сделать это с помощью триггера

форма таблицы

Create table Form (
idForm int not null primary key auto_increment,
date_of_issue date not null,
return_date date ,
idBook int not null,
Foreign key(idBook) references Book (idBook));

столовая книга

Create table Book (
idBook int not null primary key auto_increment,
name varchar(45) not null,
colBook int(11) null;

Заполнение формы таблицы

Insert into Form (idForm, date_of_issue)
Values(1, "2018-11-11");

Заполнение таблицы

Insert into Book (idBook, name, colBook)
Values(1, Garri Potter, 5);

запрос обновления таблицы

update Form
set return_date = "2000-03-03"
where idBook = 1;
Теги:
mysql-workbench

1 ответ

0
Лучший ответ

Вам просто нужно создать триггер в таблице "Форма", как показано ниже:

delimiter $$
CREATE TRIGGER form_trigger_1 
AFTER INSERT ON form FOR EACH ROW 
BEGIN 
update book
set colbook = colbook - 1
where idbook = old.idbook;
END
delimiter ;
  • 0
    только занимает не -1 а -2
  • 0
    Я не понял, ты можешь это объяснить.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню