การเพิ่ม DEFAULT ให้ JSON Column
MySQL 5.7+ รองรับ JSON Data Type สามารถตั้งค่า Default เป็น Empty Object {} ได้ด้วย JSON_OBJECT()
คำสั่ง ALTER TABLE
ALTER TABLE your_table
MODIFY COLUMN your_column JSON NOT NULL DEFAULT (JSON_OBJECT());
ตัวอย่าง
CREATE TABLE demo24 (employee_information TEXT);
-- เปลี่ยนเป็น JSON พร้อม Default
ALTER TABLE demo24
MODIFY COLUMN employee_information JSON NOT NULL DEFAULT (JSON_OBJECT());
-- ตรวจสอบโครงสร้าง
DESC demo24;
-- Field: employee_information, Type: json, Null: NO, Default: json_object()
-- INSERT โดยไม่ระบุค่า
INSERT INTO demo24 VALUES ();
SELECT * FROM demo24;
-- ผลลัพธ์: {}
ข้อดี: ป้องกัน NULL, ให้โครงสร้าง JSON เริ่มต้นที่ถูกต้อง ทำให้ Application ไม่ต้องตรวจสอบ NULL ทุกครั้ง
รองรับ: MySQL 5.7.9+ (JSON Type), 8.0.13+ (Default Expression)