我想我的mysql表中的一行總是等於另外兩個的差異,但唯一的方法我似乎能夠做到這一點是通過將它第一次設置爲0,然後運行更新命令。無論如何只是自動化這種行爲,所以我從來沒有想過它?欣賞建議!如何自動設置一個mysql列等於另一個操作?
1
A
回答
5
您可能想要使用triggers進行調查,它們被設置爲在另一個數據庫對象上發生特定操作時運行。例如,
CREATE TRIGGER foobar AFTER UPDATE ON table
FOR EACH ROW SET foo = foo + NEW.bar;
0
你也可以用一個視圖做到這一點:
create vw_table as
select t.*, (col2 - col1) as diff
from t;
視圖,然後會做計算的時候才使用,這樣的成績始終保持最新。您不需要將數據存儲在單獨的列中。
缺點是你不能在結果上創建一列(在MySQL中)。爲此,您需要一個單獨的列,按照Gian的描述進行維護。
0
這是什麼用例?
爲了數據庫的完整性,您希望在出現錯誤時避免使用相關值。這是我一開始並沒有看到這個問題的那些東西之一,但在清理之後有一點要尊重。
如果你確定它是你想要的,並且你可以使用觸發器在任何時候更新這個更新。
相關問題
- 1. 設置一個場等於另一個
- 2. Redis:如何設置一個鍵等於另一個鍵的值?
- 3. 如何設置一個等於另一個的選擇框?
- 4. 如何設置列值等於另一個表中的值?
- 5. MYSQL更新表中設置等於列來自同一個表
- 6. MySQL - 設置任意一列等於一個值
- 7. MySQL的一列等於另一列?
- 8. 如何設置bash下一個bash操作的輸入等於上一個操作的輸出?
- 9. 設置一個數組等於另一個沒有環
- 10. Javascript設置一個變量等於另一個變量
- 11. 主義 - 設置一個Objet等於另一個
- 12. 設置一個UIimage視圖等於另一個UIimage視圖
- 13. Java:設置一個ImageIcon等於另一個
- 14. 設置一個DIV高度等於另一個DIV
- 15. 熊貓設置一個單元格值等於另一個
- 16. 設置一個元素寬度等於另一個
- 17. 在一個系列上設置操作
- 18. Python - 如何設置默認參數等於另一個參數
- 19. 如何設置等於另一個部件的寬度android
- 20. 如何在另一列等於1時將列設置爲0?
- 21. 如何讓一個變量的值等於另一個值,但延遲設置?
- 22. 如何設置一個變量等於另一個變量的內容?
- 23. 製作一個陣列等於另一個
- 24. 使用VBA動態設置範圍等於另一個範圍
- 25. 如何設置一個Rails變量等於一個JavaScript變量?
- 26. 如何設置一個微調項目等於一個值
- 27. 陣列等於另一個陣列
- 28. 如何設置一個自定義屬性值等於一個變量?
- 29. 設置引導列的最小高度自動等於另一列
- 30. 我如何基於一個CSS設置另一個?
+1,許多數據庫提供計算列,但MySQL不是其中之一。觸發器可能是您唯一的選擇。 –
這看起來像一個非常有效的解決方案,謝謝! – stmfunk