仅在不存在时添加字符串

问题描述 投票:0回答:1

有没有办法将字符串添加到列上的所有字段,但仅限于该字符串不存在?

这是我需要做的具体例子。我有一张叫做联系人的表。我在该表上有一个名为网站的专栏。有些网站有这种格式:

http://example.com

其他人有这种格式

example.com

问题是我需要所有网站都使用这种格式http://example.com

我必须将http://添加到每个字段的开头,但仅当http://不在那里时。我找不到使用此查询执行此操作的方法:

UPDATE contacts SET website = CONCAT(website, 'http://');

它在最后添加了http://,显然即使http://已经存在,它也会再次添加它。

我需要做什么?

谢谢!!

mysql sql
1个回答
1
投票

尝试:

UPDATE contacts SET website = CONCAT('http://', website) WHERE (website != '') and (website NOT LIKE '%://%')

这应该(a)将http://放在开头,(b)只有在字符串中没有http://https://或类似的情况下才添加它。

© www.soinside.com 2019 - 2024. All rights reserved.