Математические функции в столбце 2 таблицы с использованием триггера MYSQL - PullRequest
0 голосов
/ 15 декабря 2011

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

У меня есть 3 столбца с именами item_quantity, items_committed и items_available.В основном, если в столбце количества имеется 5 элементов, а пользователь фиксирует 2 элемента, то доступно 3 элемента. Мне нужен триггер, который выполняет функцию минуса для 2 столбцов ( количество и зафиксировано) всякий раз, когда какой-либо из столбцов обновляется и обновляется результат разницы в доступном столбце этой строки

Ниже приводится триггер, который я использую, но я получаю эту ошибку 'Ошибка SQL 1193: неизвестносистемная переменная 'items_available'

CREATE trigger `test`.`trigger_updateitems_available` AFTER UPDATE ON items FOR EACH ROW
BEGIN
SET items_available = item_quantity - items_Committed;

END

Любая помощь с благодарностью

1 Ответ

0 голосов
/ 15 декабря 2011

Чтобы указать, что вы хотите получить доступ к значению текущей строки, используйте new.<field name>. Кроме того, для доступа к new необходимо, чтобы триггер был BEFORE UPDATE.

CREATE trigger `test`.`trigger_updateitems_available` BEFORE UPDATE ON items FOR EACH ROW
BEGIN
SET new.items_available = new.item_quantity - new.items_Committed;

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