2012-09-18 74 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; 
相關問題