MySQL,如何通过连接到字符串字段来更新它?

MySQL,如何通过连接到字符串字段来更新它?,mysql,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

问题是如何通过连接到字符串字段来更新它

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

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");
我需要编写将字符串连接到修订版ID字段的代码。例如,我需要将“.999”连接到“154”,因此我将得到“154999”。我的代码版本不起作用:

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


有一个重要条件。从理论上讲,这种连接可以执行多个脚本,因此在我们进行更新时,没有人可以更改字段值,这一点很重要。

I gues您可以直接执行此操作

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

这应该是您所需要的全部:

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


您不需要整个查询。您只需将
revision\u id
与任何您想要的
CONCAT
一起使用即可。使用此
CONCAT(revision\u id,,,,,'999')
请参见下文。我不会发布答案(已经有3个),但这是SQL FIDLE。
UPDATE my_table SET revision_ids = CONCAT(revision_ids, ", 999") WHERE article_id = 1;