我正在寻找在一列中更改所有用户数据的解决方案。现在我有列“user_personal_image”,并且有带信息的编码数组:
{"original":"photo_uploads\/original_2O52S6nhQrCSv3RZStlbY.jpg","thumb_index":"photo_uploads\/thumb_index_2O52S6nhQrCSv3RZStlbY.jpg"}
我需要在客户端中仅使用SQL查询将thumb_index
更改为thumb
,这是否可能?
P.S。所有列中的所有数据都不同,只有相同的键“original”和“thumb_index”
答案 0 :(得分:1)
假设你想要改变数组键和路径这应该这样做:
UPDATE your_table
SET user_personal_image = REPLACE(user_personal_image, 'thumb_index', 'thumb')
这会将字符串更改为:
{"original":"photo_uploads/original_2O52S6nhQrCSv3RZStlbY.jpg","thumb":"photo_uploads/thumb_2O52S6nhQrCSv3RZStlbY.jpg"}
如果您只想更改数组键,请使用:
REPLACE(user_personal_image, '"thumb_index"', '"thumb"')
或者如果是路径使用:
REPLACE(user_personal_image, '/thumb_index', '/thumb')
答案 1 :(得分:0)
尝试此查询...
UPDATE yourTable
SET user_personal_image = REPLACE(user_personal_image, 'thumb_index', 'thumb')