MySQLデータベースにいくつかの列があり、それらを追加して別の列に保存したいと思います。
column1 column2 column3 subtotal
10 10 10 30
これを達成する方法はありますか?
MySQLデータベースにいくつかの列があり、それらを追加して別の列に保存したいと思います。
column1 column2 column3 subtotal
10 10 10 30
これを達成する方法はありますか?
update yourtable set subtotal = col1 + col2 + col3
小計を更新するだけの場合は、その値を維持する必要があります。つまり、他の列の1つが更新されるたびに、コードも小計を更新することを忘れないでください。
この問題に対処するには、次の2つの方法があります。
VIEW
計算を行うを作成しますオプション2が最善のアプローチだと思います。
ビューをコーディングする方法は次のとおりです。
create view mytable_totalled as
select col1, col2, col3, col1 + col2 + col3 as subtotal
from mytable
作成したビューは、テーブルと同じように使用できますが(いくつかの注意点があります)、ビューに対して任意の種類の選択を行うことができます。選択すると、新しい列がその場で計算されます
これはどう?
UPDATE tableName SET subtotal = (column1 + column2 + column3)
テーブルに小計列が本当に必要ない場合は、次のようにクエリを使用してください
SELECT *, (column1 + column2 + column3) as subtotal
FROM tableName
これが 1 回限りの取引であれば、次のような更新クエリを実行できます。
UPDATE MyTable set subtotal = (column1 + column2 + column3)
挿入時に計算する場合は、計算列を使用できます。
個人的には、データから簡単に導出できる情報がDBを肥大化させないように、計算が必要になるまで待つだけです。