MySQL,如何通过连接更新字符串字段呢?

时间:2012-09-18 02:16:43

标签: 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;

怎么做?

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

3 个答案:

答案 0 :(得分:6)

这应该是你所需要的:

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

答案 1 :(得分:2)

我想你可以直接这样做,

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

答案 2 :(得分:2)

使用:

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