文章目錄
Generated Columns - MariaDB 上的 Computed Columns
之前有個需求會用到合併既有的兩個欄位來進行資料檢索,當下想起了 SQL Server 上的 Computed Columns (計算欄位),雖然後來採用了其他做法,不過既然都查了資料就紀錄一下吧
Generated Columns 是 MariaDB 10.2 加入的,語法上與 MySQL’s generated columns 相同,包含兩種格式
PERSISTENT
ORSTORED
會將值實際儲存在 table 中
VIRTUAL
:預設值不會實際儲存在 table 中,會在 query 當下動態產生值
使用方式
語法
<type> [GENERATED ALWAYS] AS ( <expression> ) [VIRTUAL | PERSISTENT | STORED] [UNIQUE] [UNIQUE KEY] [COMMENT <text>]
範例
create table DemoUser ( FirstName varchar(5) null, SecondName varchar(15) null, FullName varchar(20) generated always AS (CONCAT(FirstName,' ',SecondName)) PERSISTENT );
實際使用
INSERT DemoUser Values('Yowko','Tsai',DEFAULT); select * from DemoUser;
心得
雖然過去沒有使用 MariaDB 的經驗,所幸其他 DB 的經驗還是有些幫助,也許名稱不同但相同概念還是可以套用,這在其他技術面向上也適用:你覺得你學的某個東西、做的某個系統不是主流,過陣子你發現這就是你贏過別人的地方,你不再只是旁觀者,因為你接觸過所以你知道其中的眉眉角角
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-03
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。