| 用途 | JSON 读写 |
|---|---|
| 常用 | JSON_EXTRACT() -> ->> JSON_SET() JSON_UNQUOTE() JSON_TABLE() |
| 类型 | JSON 列校验 + 高效存储 |
常用示例
常用示例
SELECT JSON_EXTRACT(attrs, '$.color') FROM products;
SELECT attrs->>'$.color' AS color FROM products; -- 去引号提取
UPDATE products SET attrs = JSON_SET(attrs, '$.stock', 10) WHERE id = 1;
SELECT id FROM products WHERE attrs->>'$.color' = 'red';生成列 + 索引加速
生成列 + 索引加速
ALTER TABLE products
ADD COLUMN color VARCHAR(32) GENERATED ALWAYS AS (attrs->>'$.color') STORED,
ADD INDEX idx_color (color);直接对 JSON 表达式过滤走不了索引,用 STORED 生成列 + 索引是官方推荐做法。