仅在不存在时添加字符串

时间:2017-12-17 03:56:54

标签: mysql sql

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

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

http://example.com

其他人有这种格式

example.com

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

我必须将http://添加到每个字段的开头,但仅当http://不存在时才这样。我找不到使用此查询的方法:

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

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

我需要做什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试:

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

那应该(a)将http://放在开头,(b)只有在字符串中没有http://https://或类似内容时才添加它。