как создать запрос для добавления значения в двух столбцах

#mysql #sql

#mysql #sql

Вопрос:

я только что узнал, как создать базу данных здесь. Итак, у меня есть проект по созданию базы данных для инвентаризации товаров, и я использую phpmyadmin. Моя проблема в том, что я хочу, чтобы значение в столбце «количество» добавлялось по значению в столбце «jumlah_masuk» и минус по значению в столбце «jumlah_keluar», тогда результат будет в столбце «saldo_akhir».

я выполнил этот запрос:

 SELECT *, (quantity jumlah_masuk)-jumlah_keluar FROM dbinventory.tbbarang;
 UPDATE tbbarang SET saldo_akhir=(quantity jumlah_masuk)-jumlah_keluar WHERE ID_barang
  

и я получил такой результат:

  quantity   jumlah_masuk   jumlah_keluar  saldo_akhir
 --------   ------------   -------------  -----------
  100           50               25           125
  

и я это сделал. но, если я хочу ввести новый элемент. значение из ‘quantity’,’jumlah_masuk’,’jumlah_keluar’ запрос не выполнен.

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

итак, что мне делать?

Комментарии:

1. Зачем хранить результаты формулы, когда ее можно вычислить в любое время, когда вы запускаете запрос? Это намного надежнее и менее трудоемко на сервере, чем настройка триггеров insert и update для сохранения результата и сохранения его в столбце. Если вы действительно хотите это сделать, вам нужно будет создать два триггера: on для after insert и еще один для after update. Триггеры поиска для синтаксиса и примеров

Ответ №1:

Вместо триггеров хорошим решением является сгенерированный столбец.

 ALTER TABLE tbbarang DROP saldo_akhir,
  ADD saldo_akhir INT AS (quantity   jumlah_masuk - jumlah_keluar)
  

Комментарии:

1. я только что попробовал этот запрос, но вычисление сохраняется в столбце «количество». Я хочу, чтобы результат был сохранен в столбце ‘saldo_akhir’ @danblack