我已经写了一个存储过程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.任何猜测最合适的解决方案是什么?
通过使用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)