MySQL 中基於另一列自動計算欄位
在資料庫程式設計領域,表格是資料儲存的基石,但有時需要從現有欄位中匯出附加資訊。這就是計算列發揮作用的地方,它提供了一種建立新列的方法,這些新列的值會根據另一列自動更新。
資料庫設定
考慮以下表格:
<code>id | value -------------- 1 6 2 70</code>
問題陳述
任務是新增一個名為「calculated」的列,該列是「value」列的一半。當“value”列變更時,此計算列應自動更新。
解:產生欄位
MySQL 5.7.6 及更高版本引進了名為「生成列」的功能。這些列允許根據現有列進行動態計算,類似於視圖,但作為表的一個組成部分。
生成列有兩種:
實作
在本例中,我們將使用儲存的生成列。以下是加入它的 SQL 語句:
<code>ALTER TABLE table_name ADD COLUMN calculated AS (value / 2) STORED;</code>
這將建立一個名為「calculated」的新列,其值為每一行的「value」列的一半。
優點和注意事項
生成列具有以下優點:
範例
新增計算列後,表格將如下所示:
<code>id | value | calculated ----------------------- 1 6 3 2 70 35</code>
結論
產生列提供了一種向表新增計算列的強大方法。透過利用「stored」選項,它確保計算列自動更新並可以建立索引,從而在資料管理中提供更高的靈活性和效率。
以上是MySQL中如何根據另一列自動計算一列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!