例:
SELECT car_img FROM logistics_car_info WHERE car_id=2 -- 结果为:["1", "2", "3", "4"] SELECT JSON_SEARCH(car_img, 'one', '4') FROM logistics_car_info WHERE car_id=2 --结果为:"$[3]" SELECT JSON_UNQUOTE(JSON_SEARCH(car_img, 'one', '4')) FROM logistics_car_info WHERE car_id=2 --结果为:$[3] -- 删除为4的数组项 UPDATE logistics_car_info SET car_img=JSON_REMOVE(car_img, JSON_UNQUOTE(JSON_SEARCH(car_img, 'one', '4'))) WHERE car_id = 2 AND JSON_SEARCH(car_img, 'one', '4') IS NOT NULL; --结果为:["1", "2", "3"]
users表 有两个列 分别为 username 列 和 follows列,其中follows列为json数组格式。
且假设表中数据有 用户名为X的用户有一个追随者为a。
添加第二个和第三个追随者的数据
UPDATE users SET follows = JSON_ARRAY_APPEND(follows, '$', 'b') where username ='x'; UPDATE users SET follows = JSON_ARRAY_APPEND(follows, '$', 'c') where username ='x';
移除:假设我们想要移除跟随者b,以检查要移除的跟随者
SELECT JSON_SEARCH(follows, 'one', 'b') FROM users;
上面将给出数组中要删除的对象的路径。
UPDATE users SET follows = JSON_REMOVE(follows, JSON_UNQUOTE(JSON_SEARCH(follows, 'one', 'b'))) WHERE JSON_SEARCH(follows, 'one', 'b') IS NOT NULL;
标签:SEARCH,users,img,follows,mysql,JSON,json,car,字段 From: https://www.cnblogs.com/aaron-agu/p/17757519.html