2013-06-25 63 views
0

在像Excel這樣的程序中,我可以使單元格的值等於表中其他單元格的某些函數。例如,在單元格E1中輸入「= C1 * D1」將導致E1等於其他兩個單元格的乘積。如果C1或D1的值發生變化,本產品將自動更新。SQL:插入數據作爲表中其他位置的函數

有什麼辦法可以在SQL中創建類似的功能嗎?我知道我可以在服務器的python代碼中處理這些事情,方法是更改​​所有可以找到這些值的數據庫分配,以更改依賴於它們的相關數據。

我堅持修改現有的幾千行的服務器程序,我寧願如果有一種方法可以做到這一點,不依賴於我,不要丟失了一些參考數據庫中的某處代碼。

+0

當插入:http://dev.mysql.com/doc/refman/5.1/en/insert-select.html –

+0

是的,它被稱爲一個計算列,但我不相信MySQL支持它,我我們來看看文檔。 – twoleggedhorse

+1

看起來像觸發器是唯一的方法:http://stackoverflow.com/questions/5222044/column-calculated-from-another-column – twoleggedhorse

回答

1

你可以看看在插入/更新時使用觸發器。在具有三列(HoursWorked,HourlyRate,TotalPay)的示例表中,TotalPay = HoursWorked * HourlyRate,您可以在插入或更新行時向表中添加觸發器以計算TotalPay。

+0

謝謝,我會查找觸發器,並確保他們做我需要從他們! – Hawkwing

+0

嗯....他們會有點棘手的使用,但應經過一些試驗和錯誤後正常工作。再次感謝你的幫助。此鏈接:http://www.databasedesign-resource.com/mysql-triggers.html 可能會幫助其他人試圖追隨我的腳步 – Hawkwing

相關問題