2015-02-12 4 views
0

Мне нужно знать об одной вещи в базах данных. У меня есть таблица продуктов с его общий объем запасов, как показано на изображенииАвтообновление в базе данных Mysql

enter image description here

Если какой-либо один есть идея, что, как я могу сделать это ?? Просьба сообщить об этом Спасибо

+2

Вы можете использовать триггер: http://dev.mysql.com/doc/refman/5.0/en/triggers.html –

ответ

1

Что вы спрашиваете о технически не «отношениях» в техническом смысле, когда речь идет о реляционных базах данных. Такие отношения - это такие вещи, как таблица, которая ссылается на «ключ» другой таблицы, например, связать таблицу с адресом клиента с другой таблицей с заказом клиента. Во всяком случае, это выходит за рамки того, что вы просили, чтобы ответить на ваш вопрос, вы можете сделать это в коде приложения или триггера.

Триггеры - это функции базы данных, которая делает что-то, когда происходит INSERT, UPDATE или DELETE.

Что-то, как это должно работать нормально с небольшими корректировками для имен таблиц/столбцов:

phpMyAdmin trigger dialog

UPDATE table2 SET inventory = inventory - NEW.qty where id = NEW.id_product; 

Теперь, распространяется только на Вкладыш; вам нужно создать еще один триггер для события UPDATE и, вероятно, каким-то образом обработать возвращенные ресурсы или отмененные заказы, но это, вероятно, то, что вы будете обрабатывать на уровне приложения, а не в триггере.

+0

Почему я обрабатываю его в приложении? Почему не в триггерах ?? Есть ли вероятность ошибки с помощью триггеров ??? – Uzair

+1

Нет причин, связанных с ошибками, просто прост в программировании. Как вы укажете в своих таблицах при возврате заказа? - вот что диктует, как вы будете обновлять счет 'inventory'. Если бы это был я, я бы не удалял строку из 'order', поэтому ограничивал то, что вы можете использовать для« запуска »вашего триггера. Если вы добавляете «order_status», тогда триггер может запускаться при его обновлении, но что, если клиент заказывает три виджета и возвращает два? Для меня гораздо проще обрабатывать этот экземпляр на уровне приложения. Это действительно личное предпочтение, вы можете абсолютно использовать триггер для этого. –

+0

палец вверх сэр :) – Uzair

Смежные вопросы