繁体   English   中英

仅当不包含字符串时 MySQL 更新 concat 字段值

[英]MySQL Update concat field value only if it does not contain a string

我有一个包含以下列(除其他外)的表格。

brand varchar(15)
descr varchar(100)

要求是检查“descr”中存在的现有字符串,如果它不包含品牌列的值,则附加到它

例如,如果品牌的值为“vanilla”,而 descr 的值为“choco”,则更新后 desc 应变为“chocovanilla”

如果品牌的价值为“choco”,而 descr 的价值为“choco”或“chocovanilla”,那么更新后应该不会有任何变化,因为 desc 已经拥有品牌中的内容。

我有以下代码原型,但无法让它工作。

update tbl set descr= concat(descr,'value from brand col') where descr not contain 'value from brand col';

请让我知道这是否可以调整以满足需求。

我看到了这个线程,但它不适合: 如果不包含值,则行中的 MySQL 更新字段

您可以使用likeconcat()

update tbl
    set descr = concat(descr, ' ', brand)
    where descr not like concat('%', brand, '%');

这在品牌之前增加了一个空间以提高可读性。

你需要like

update tbl set descr = concat(descr,brand) where descr not like concat('%', brand, '%');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM