ตั้งแต่ MySQL 5.7 สร้าง Generated Column ที่คำนวณค่าอัตโนมัติจากคอลัมน์อื่นได้ โดยใช้ CHAR_LENGTH()
สร้างตารางพร้อมคอลัมน์คำนวณความยาวข้อความ
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(200),
`Number_of_characters` INT AS (CHAR_LENGTH(Title))
);
เพิ่มข้อมูล
mysql> INSERT INTO DemoTable(Title) VALUES
('Introduction To MySQL'),
('Introduction To Java'),
('Introduction To MongoDB');
ดูข้อมูล (Number_of_characters คำนวณอัตโนมัติ)
mysql> SELECT * FROM DemoTable;
+----+-------------------------+----------------------+
| Id | Title | Number_of_characters |
+----+-------------------------+----------------------+
| 1 | Introduction To MySQL | 21 |
| 2 | Introduction To Java | 20 |
| 3 | Introduction To MongoDB | 23 |
+----+-------------------------+----------------------+
ประเภท Generated Column:
VIRTUAL(ค่าเริ่มต้น) — คำนวณตอนอ่าน ไม่ใช้พื้นที่จัดเก็บSTORED— คำนวณตอนเขียน ใช้พื้นที่จัดเก็บ 但读取更快
-- ตัวอย่าง STORED
`Number_of_characters` INT AS (CHAR_LENGTH(Title)) STORED