2012-09-18 46 views
3

问题是如何通过连接来更新字符串字段?MySQL,如何通过串联更新字符串字段?

以下是创建数据库并添加一行代码:

CREATE DATABASE my_db;               
USE my_db; 

CREATE TABLE IF NOT EXISTS my_table(
    article_id INTEGER unsigned, 
    revision_ids VARCHAR(10), 
    PRIMARY KEY (article_id) 
); 

INSERT INTO my_table (article_id, revision_ids) VALUES (1, "154"); 

我需要写一个字符串连接到revision_ids域代码。例如,我需要连接“,999”到“154”,所以我会得到“154,999”。我的版本的代码不起作用:

UPDATE my_table SET revision_ids = CONCAT((SELECT revision_ids FROM my_table WHERE article_id = 1), ", ", "999") WHERE article_id = 1; 

怎么办?

有一个重要的条件。理论上这个连接可以做几个脚本,所以当我们更新nobody时可以改变字段值是很重要的。

+0

你不需要整个查询。你只要使用'revision_ids'来随意'CONCAT'就可以了。 – Kermit

+0

是的,你是对的 – ashim

+0

使用这个'CONCAT(revision_ids,',','999')'见下面。 –

回答

6

这应该是所有你需要:

UPDATE my_table SET revision_ids = CONCAT(revision_ids, ", ", "999") WHERE article_id = 1; 
2

我客串,你可以直接做到这一点,

UPDATE my_table 
SET revision_ids = CONCAT(revision_ids, ', ', '999') 
WHERE article_id = 1; 
2

用途:

UPDATE my_table SET revision_ids = CONCAT(revision_ids, ", 999") WHERE article_id = 1; 
相关问题