2015-06-05 89 views
0

我一直在讀通過這個頁面,沒有運氣:MySQL的更新表字段 - 運動弦

https://dev.mysql.com/doc/refman/5.5/en/string-functions.html

我不能找出如何從一個字段移動一組串到另一個。 任何人都可以請一些光。

這是我想做的事:

當前表:

+----+---------+-------------------+ 
| post_content | post_title  |  
+----+---------+-------------------+   
| -td- -/td- | MSOR-RUST-NAVY | 
| -td- -/td- | NBLA-SAND-SAND |   
| -td- -/td- | SHZA-IVORY-BLACK |    
| -td- -/td- | UKRN-IVORY-RUST |   
+----+---------+-------------------+ 

最終目標:

+----+--------------+---------------+ 
| post_content  | post_title |  
+----+--------------+---------------+   
| -td- MSOR -/td- | -RUST-NAVY | 
| -td- NBLA -/td- | -SAND-SAND |   
| -td- SHZA -/td- | -IVORY-BLACK |    
| -td- UKRN -/td- | -IVORY-RUST |   
+----+------------------------------+ 

回答

0

,我不知道這是否是最好的方法或沒有,但你可以試試這個:

SELECT 
    CONCAT(SUBSTRING_INDEX(post_content, ' ', 1), SUBSTRING_INDEX(post_title, '-', 1), SUBSTRING_INDEX(post_content, ' ', -1)) AS post_content, 
    CONCAT('-', SUBSTRING_INDEX(post_title, '-', -2)) AS post_title 
FROM tablename 

如果在post_content的內容將永遠是-td- MSOR -/td-的嘗試:

SELECT 
    CONCAT('-td-', SUBSTRING_INDEX(post_title, '-', 1), '-/td-') AS post_content, 
    CONCAT('-', SUBSTRING_INDEX(post_title, '-', -2)) AS post_title 
FROM tablename 

編輯1:所以我將如何更新字段POST_CONTENT新的價值?

UPDATE tablename 
SET 
    post_content = CONCAT('-td-', SUBSTRING_INDEX(post_title, '-', 1), '-/td-'), 
    post_title = CONCAT('-', SUBSTRING_INDEX(post_title, '-', -2)) 
+0

我現在就試試這個,感謝快速回復。 – LouiIsMyDog

+0

那麼如何將字段post_content更新爲新值呢?我會添加「更新」盈方? – LouiIsMyDog

+0

@LouiIsMyDog請參閱編輯。 – Beginner