2013-05-14 80 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結果。

相關問題