MySQL UPDATE将数据附加到列中

Rob*_*ann 29 mysql append sql-update

我需要UPDATE tablename(col1name)

如果已有数据,我需要附加值'a,b,c'如果它是NULL,我需要添加值'a,b,c'

我知道有一个CONCAT参数,但不确定SQL语法是什么.

update tablename set col1name = concat(ifnull(col1name, 'a,b,c'), 'a,b,c')

以上是正确的吗?

Dhi*_*kar 57

试试这个查询:

update tablename set col1name = concat(ifnull(col1name,""), 'a,b,c');
Run Code Online (Sandbox Code Playgroud)

请参阅此sql小提琴演示.

  • 不了解SQL Fiddle,谢谢! (2认同)
  • SQL 小提琴演示为我输出错误(在 FF 和 Chrome 中)。创建了另一个:http://sqlfiddle.com/#!9/8385a3/1/0 (2认同)

Boh*_*ian 6

这应该这样做:

update tablename set
col1name = if(col1name is null, 'a,b,c', concat(col1name, 'a,b,c'));
Run Code Online (Sandbox Code Playgroud)


或者,您可以分两步完成,让您的生活更轻松:

update tablename set col1name = '' where col1name is null;
Run Code Online (Sandbox Code Playgroud)

然后

update tablename set col1name = concat(col1name, 'a,b,c');
Run Code Online (Sandbox Code Playgroud)