MySQL 雖然是一個功能強大的關系型數據庫管理系統,但它并不支持添加 JSON 數據類型。雖然在 MySQL 5.7 及之后的版本中提供了 JSON 數據類型的支持,但基于某些原因,MySQL 在編譯時會將 JSON 字段的類型信息與存儲引擎分開保存。這意味著沒有與 JSON 字段相關的存儲引擎和索引機制,也無法對 JSON 字段進行操作,這使得 JSON 數據類型在 MySQL 中并不真正可用。
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用戶名',
`info` json DEFAULT NULL COMMENT '個人信息',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
上述示例展示了 JSON 數據類型的創建方法,然而在 MySQL 中實際添加 JSON 類型的字段是行不通的,MySQL 在運行時會報錯提示不支持該類型。
雖然 MySQL 無法直接支持 JSON 數據類型,但我們仍然可以通過 MySQL 的字符串類型來存儲 JSON 數據。我們可以將 JSON 數據轉換成字符串格式,然后存儲到表中。這樣做雖然不太方便,但仍然是一種可行的方法。