使用concat时,请获取额外的逗号','

Sha*_*aib 6 mysql

我已经写了一个存储过程sqlyog.除了concat语句之外,它很长并且执行所有所需的功能,因此我只列出该特定查询.

UPDATE recipes_new 
SET co_auths = CONCAT(co_auths,',',c1id) 
WHERE id = name_in; 
Run Code Online (Sandbox Code Playgroud)

我基本上希望在两个字段中分离,并且此语句放在游标中,因此它是迭代的.co_auths目前为空,所以我得到的结果为1,2,3,因为我希望它是1,2,3.任何猜测最合适的解决方案是什么?

Ja͢*_*͢ck 5

通过使用IF:

UPDATE recipes_new 
SET co_auths = IF(co_auths IS NULL, c1id, CONCAT(co_auths, ',', c1id))
WHERE id = name_in; 
Run Code Online (Sandbox Code Playgroud)

如果值为co_auths空字符串而不是NULL:

UPDATE recipes_new 
SET co_auths = IF(LENGTH(co_auths), CONCAT(co_auths, ',', c1id), c1id)
WHERE id = name_in; 
Run Code Online (Sandbox Code Playgroud)