2011-12-15 2 views
0

я хочу сделать делегата некоторые из моей логики приложения к базе данных, с тем чтобы изучить несколько пунктов например триггерыМатематические функции в колонке 2 таблицы с помощью триггера MYSQL

У меня есть 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 

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

ответ

0

Чтобы указать, что вы хотите получить доступ к значению текущей строки, используйте 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 
Смежные вопросы