Как добиться достоверности данных в mysql?

Допустим есть товар product. В товара есть кол-во(общее) и кол-во разбито по складах product_to_warehouse . При добавлении прихода товара , товару обновляется общее кол-во и соответственно кол-во по складах . В результате общее кол-во и кол-во по складах в сумме должны совпадать . Сейчас каждый раз после прихода делаю проверки в рамках пхп все ли совпадает , если нет откатываю транзакцию . Вопрос , можно ли как-то средствами mysql сделать такую проверку . Например , сначала кол-во записалось в таблицу product , потом в product_to_warehouse и если они не совпадают делать откат или возвращать ошибку
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Как вариант - меняйте значение только в таблице складов и используйте триггер AFTER UPDATE для изменения количества в общей таблице.
Ответ написан
Комментировать
martin74ua
@martin74ua Куратор тега MySQL
Linux administrator
специально для вас придумали транзакции.
Открываете транзакцию, вносите изменения в таблицы, закрываете транзакции. Если в процессе изменений что то пошло не так - откатываете
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы