![](/img/trans.png)
[英]Update table column with another column values of the same table using updateAll()
[英]how to update a column after updation of another column of same TABLE?
我試圖在phpMyAdmin中的先前更新列的幫助下更新列。 我試圖通過除以dep(比率= advance / dep)來計算比率。 我有這張桌子:
#id# #dep# #cash# #advance# #ratio#
----------------------------------------
1 100 100 200 0
----------------------------------------
2 200 300 500 0
----------------------------------------
我正在嘗試這段代碼:
Update 'table1' Set 'ratio'= 'advance'/'dep';
當我更新列dep的值或者在表中提前時,我期望輸出比率更新為200/100 = 2。
您可以在表上使用CREATE TRIGGER
來計算和設置受影響行的新比率:
CREATE TRIGGER upd_ratio BEFORE UPDATE ON table_name
FOR EACH ROW
BEGIN
SET NEW.ratio = NEW.advance / NEW.dep;
END
要UPDATE
並重新計算所有記錄,可以使用以下UPDATE
語句。 創建觸發器以初始化ratio
列后,應執行此操作一次。
UPDATE `table_name` SET `ratio` = `advance` / `dep`
您還可以使用CREATE VIEW
創建表格視圖(不包含ratio
列)。 您可以動態計算ratio
列,並且不需要在UPDATE
之后存儲和重新計算值:
CREATE VIEW view_name AS SELECT *, advance / dep AS ratio FROM table_name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.