我在'column1'列中有多个结构记录,我想在同一列中更新类型。
这些字段仅包含一个FIELD中的语言,类别级别和名称的信息。
信息按符号分隔如下:
存储在FIELDS上的信息来自两个不同的来源,一个是内部的,另一个没有根的(无/ FIELDS)来自外部源,必须由SQL更新
真实示例字段:
前
&安培; LT; B和GT; Englisch&安培; LT; / B&安培; GT;:水平/测试/后
后
&安培; LT; B和GT; Englisch&安培; LT; / B&安培; GT;:顶/水平/测试/后
真实示例表:
**before** **after**
language0:Top/level_0/name_category language0:Top/level_1/name_category
language1:name_test2/name_category language1:name_test2/name_category
language2:level_1/name_category language2:Top/level_1/level_2/name_category
language3:level_1/level_2/name_category language3:Top/level_1/level_2/name_category
language4:level_1/level_2/level_3/name_category language4:Top/level_1/level_2/level_3/name_category
第一行已经更改,因此我们只需要选择那些以“language%:level_1 /%”开头的记录
table_example1
id **column1**
1 language0:Top/level_1/level_2/level_3/level_4
2 language1:name_test2/etc/
3 language2:level_1/level_2/level_3/level_4
4 language3:level_1/level_2/level_3
5 language3:level_1/level_2
6 language%:level_1/
注意:
language0:Top/name_test/etc/etc/
。language1:name_test2/etc/
将被忽略,格式不同并存储不同的信息。其他以其他方式开始的记录不得修改。
我该怎么做?
答案 0 :(得分:1)
UPDATE `table_example1` SET `column1` = REPLACE(column1,':name_test/',':Top/name_test/');
在使用此查询之前创建备份。