MySQL Update Concat字段值仅在不包含字符串时



我有一个表格,带有以下列(以及其他列)。

brand varchar(15)
descr varchar(100)

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

例如,如果品牌的价值为"香草",而descr的价值为"巧克力",那么更新后,desc应该成为" chocovanilla"

如果品牌具有"巧克力"的价值,而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, '%');

最新更新