Mysql - 更改所有用户的数据

时间:2015-03-01 21:01:25

标签: mysql

我正在寻找在一列中更改所有用户数据的解决方案。现在我有列“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”

2 个答案:

答案 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')

Sample SQL Fiddle

答案 1 :(得分:0)

尝试此查询...

UPDATE yourTable
       SET user_personal_image = REPLACE(user_personal_image, 'thumb_index', 'thumb')