users表 有兩個列 分別為 username 列 和 follows列蒋纬,其中follows列為json數(shù)組格式吩屹。
且假設(shè)表中數(shù)據(jù)有 用戶名為X的用戶有一個追隨者為a淆党。
添加第二個和第三個追隨者的數(shù)據(jù)
UPDATE users SET follows = JSON_ARRAY_APPEND(follows, '$', 'b') where username ='x';
UPDATE users SET follows = JSON_ARRAY_APPEND(follows, '$', 'c') where username ='x';
移除:假設(shè)我們想要移除跟隨者b唯咬,以檢查要移除的跟隨者
SELECT JSON_SEARCH(follows, 'one', 'b') FROM users;
上面將給出數(shù)組中要刪除的對象的路徑段只。
UPDATE users SET follows = JSON_REMOVE(follows, JSON_UNQUOTE(JSON_SEARCH(follows, 'one', 'b'))) WHERE JSON_SEARCH(follows, 'one', 'b') IS NOT NULL;
在實際項目中的使用
SELECT car_img FROM logistics_car_info WHERE car_id=2 -- 結(jié)果為:["1", "2", "3", "4"]
SELECT JSON_SEARCH(car_img, 'one', '4') FROM logistics_car_info WHERE car_id=2 --結(jié)果為:"$[3]"
-- 刪除為4的數(shù)組項
UPDATE logistics_car_info SET car_img = JSON_REMOVE(car_img, JSON_UNQUOTE(JSON_SEARCH(car_img, 'one', '4'))) WHERE
JSON_SEARCH(car_img, 'one', '4') IS NOT NULL AND car_id = 2 --結(jié)果為:["1", "2", "3"]