我在“column1”列中有多个结构记录,我想更新同一列中的类型。
这些字段仅在一个字段中包含有关语言、类别级别和名称的信息。
信息用符号分隔,如下所示:
- " : " (两点) 用词根分隔语言(language% : Top/% )
- “/”(斜线)按类别分隔根(Top / level_1),按不同级别类别分隔类别(level_1 / level_2)。
- 因此FIELD将具有以下形式“语言:顶级/级别/级别”
存储在 FIELDS 上的信息来自两个不同的来源,一个是内部的,另一个没有 root(Top/) 的 FIELDS 来自外部来源,必须由 SQL 更新
真实示例字段:
前
<b>英文</b>:level/Test/later
后
<b>英文</b>:Top/level/Test/later
真实示例表:
**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/
笔记:
- 示例中只有这些字段必须更新:行 id 3、4、5、6 和表中只有 column1
- 结果必须类似于 line id 1 column1:
language0:Top/name_test/etc/etc/
。 - 第 2 行第 1 列的字段
language1:name_test2/etc/
将被忽略是不同的格式和存储的不同信息。 - 不更改第 2 行的基础是不同的链接值:name_test2(name_test) LIKE 'name_test/%' only
- 这个字段中不存在的#符号只是为了划定你可以在列之前,列之后看到
- 只有在以下两点 ( : ) 之后正好有表达式后跟斜线 (level_1/) 时,才应更新 FIELD
不得修改以其他方式开始的其他记录。
我怎样才能做到这一点?