Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ CHAR_LENGTH() ในคอลัมน์คำนวณ (Generated Column) ตอน CREATE TABLE ใน MySQL

ตั้งแต่ 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