我有一个mysql表(在AWS RDS中),字段为F1,F2和F3。 F1有像'abc-def'这样的字符串。我需要做的是用连字符将F1值分成两个字符串('abc'和'def')并将它们存储在同一行的F2和F3中。
更改前的记录:
F1: abc-def
F2:
F3:
更改后的记录:
F1: abc-def
F2: abc
F3: def
似乎mysql确实支持regexp但不支持back-reference。我的最后一种方法是使用mysqldump,但我想知道是否有任何方法可以直接在mysql中执行此操作。
感谢任何回复!
答案 0 :(得分:0)
还有一篇文章使用逗号作为Can Mysql Split a column?处的分隔符来讨论此问题。只需执行更新过程,将两列设置为substring_index结果。
答案 1 :(得分:-1)
尝试使用连字符上的爆炸功能......
$exploded = explode('-', 'abc-def');
它会将abc和def放入数组中,然后将它们存储在相应的位置
f2 = $exploded[0]; <-- meaning abc
f3 = $exploded[1]; <-- meaning def