我有一个包含以下各列的表格。
brand varchar(15)
descr varchar(100)
要求是检查存在于“ descr”中的现有字符串,如果该字符串不包含brand列的值,则将其追加
例如, 如果品牌的价值为“香草”,而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 update field in row if it doesn't contain value
答案 0 :(得分:1)
您可以使用like
和concat()
:
update tbl
set descr = concat(descr, ' ', brand)
where descr not like concat('%', brand, '%');
这为品牌增加了可读性。
答案 1 :(得分:0)
您需要like
:
update tbl set descr = concat(descr,brand) where descr not like concat('%', brand, '%');