我的一张桌子有一个字段tags
,字段的值如{2,3,8}
tag_id | r_tags
--------|------------
1 | {2,3,8}
--------|------------
2 | {5,8}
我想更新字段而不删除当前值。对于前者如果我需要为标记ID 5
添加1
,那么{2,3,8}应该像{2,3,8,5}
现在它的作品就像
1. Select the current value.
2. Add 5 using php and created new string.
3. Update the row.
我只是想知道是否只能通过MySql?
答案 0 :(得分:3)
这应该有效 -
假设您要在r_tags
的{{1}}中添加5,这应该是查询 -
tag_id = 1
在php中,
UPDATE tags SET r_tags = CONCAT(SUBSTRING(r_tags, 1, CHAR_LENGTH(r_tags) - 1),',5','}') WHERE tag_id = 1;
答案 1 :(得分:0)
UPDATE your_table SET your_field = REPLACE(your_field, '}', concat(',', new_value, '}') WHERE your_field = ?
答案 2 :(得分:0)
您可以尝试以下查询Mysql,无论您想添加什么,都可以用'5'替换任何值。
Update tbl_tags SET r_tags = INSERT(r_tags, INSTR(r_tags, '}'), 1, CONCAT(',','5','}')) WHERE tag_id = '1'