2013-05-14 100 views
1

我有一个带有字段F1,F2和F3的MySQL表(在AWS RDS中)。 F1有像'abc-def'这样的字符串。我需要做的是用连字符将F1值分成两个字符串('abc'和'def'),并将它们存储到同一行的F2和F3中。拆分mysql表字段中的字符串并存储到两个字段

改变之前的记录:

改变后
F1: abc-def 
F2: 
F3: 

记录:

F1: abc-def 
F2: abc 
F3: def 

似乎MySQL的不支持正则表达式,但不回参考。我最后的手段是使用mysqldump,但我想看看是否有任何方式直接在mysql中执行此操作。

任何回复赞赏!

+0

可能重复的[你可以拆分/爆炸一个字段在MySQL查询?](http://stackoverflow.com/questions/471914/can-you-split-explode-a-field-in-a-mysql - 查询) –

回答

-1

尝试使用在这样的连字符的爆炸功能...

$exploded = explode('-', 'abc-def'); 

它将把ABC和DEF到一个数组,那么你可以将它们存储在相应的地方

f2 = $exploded[0]; <-- meaning abc 
f3 = $exploded[1]; <-- meaning def 
+0

他从来没有提到PHP ......事实上,他特别说他想直接使用MySQL。 –

+0

是的,我需要在mysql CLI中执行此操作 – pdgetrf

+0

那么你显然还没有阅读过MySQL手册...... http://dev.mysql.com/doc/refman/5.1/en/string-functions.html –

0

有是另一篇文章,它使用逗号作为Can Mysql Split a column?处的分隔符进行讨论。只需执行更新过程,将两列设置为substring_index结果。

相关问题