2015-06-05 53 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