JSON_ARRAY_INSERT
时间: 2025-03-26 22:07:00 浏览: 16
### 使用 `JSON_ARRAY_INSERT` 函数的示例教程
#### 描述
在 MySQL 中,`JSON_ARRAY_INSERT()` 函数允许在一个 JSON 数组内的特定位置插入一个或多个新值。此函数不会替换现有数据;它仅会在指定的位置插入新的元素。
#### 基本语法
```sql
JSON_ARRAY_INSERT(json_doc, path, val[, path, val] ...)
```
- **json_doc**: 需要被修改的原始 JSON 文档。
- **path**: 表明希望向哪个位置添加新值的路径表达式。该路径应当指向数组中的某个具体索引或是对象的一个字段名。
- **val**: 将要插入到由路径所指示位置处的新值[^1]。
#### 实际应用案例
假设有一个表名为 `products` 的表格,其中有一列叫做 `features` 存储着产品特性列表作为 JSON 数据类型:
| id | name | features |
|----|------------|-------------------------|
| 1 | Product A | ["Feature One", "Feature Two"] |
现在想要在这个产品的特征列表里,在第一个位置之前加入 `"New Feature"` 和第二个位置之后加入 `"Another New Feature"` ,可以执行如下 SQL 查询语句来完成这个操作:
```sql
UPDATE products SET features = JSON_ARRAY_INSERT(features, '$[0]', 'New Feature', '$[2]', 'Another New Feature') WHERE id = 1;
```
这条命令的结果将是更新后的 `features` 列变为 `["New Feature", "Feature One", "Feature Two", "Another New Feature"]`.
请注意,如果尝试插入的位置超出了当前数组长度,则会自动扩展数组并填充 null 直至达到目标下标再进行赋值[^3].
阅读全文
相关推荐



















