我正在使用 Concat 更新数据库中的字段,如下所示
`fieldName`=concat( `FieldName`, ',NEW DATA')
虽然在某些情况下,我试图在字段中创建一个逗号分隔的列表,例如
item 1, item 2, item 3
但除非我事先知道该字段是否为空,否则如果这是该字段中的第一个条目,我将无法避免在前面或后面加上逗号。
,item 1, item 2...etc
或
item 1, item 2, ... etc
有没有一种方法可以在我添加数据之前确定该字段是否有内容,在 Update 语句中避免单独查询数据库?
...或制作逗号分隔列表的更好方法!
最佳答案
是的,使用这样的 case
表达式:
update tableName
set columnName =
case when LENGTH(columnName) > 1
then select concat(columnName, ',NEW DATA')
else select 'NEW DATA' end
如果columnName的长度大于1,则columName中有数据可以放逗号,否则只放新数据。
关于mysql - 在 MySQL 更新语句中使用 Concat 之前检查字段内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8564874/