,则行中的mySQL更新字段
我有一个表格,带有以下列(以及其他列)。
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';
请让我知道是否可以调整以满足需求。
我看到了此线程,但不合适:如果不包含值
您可以使用like
和concat()
:
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, '%');