Добавить строку только если нет

0

Есть ли способ добавить строку ко всем полям в столбце, но только если эта строка уже отсутствует?

Это конкретный пример того, что мне нужно сделать. У меня есть таблица, называемая контактами. У меня есть столбец на этой таблице, называемый веб-сайтом. Некоторые веб-сайты имеют такой формат:

http://example.com

другие имеют этот формат

example.com

Дело в том, что мне нужно, чтобы все сайты использовали этот формат http://example.com

Я должен добавить http://в начало каждого поля, но только если http://еще не существует. Я не могу найти способ сделать это с помощью этого запроса:

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

Он добавляет http://в конце и, очевидно, даже если http://уже там, он добавляет его снова.

Возможно ли, что мне нужно сделать?

Спасибо!!

Теги:

1 ответ

1
Лучший ответ

Пытаться:

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

Это должно (a) поместить http:// в начало и (b) добавить его только в том случае, если в строке еще нет http:// или https:// или аналогично.

  • 0
    Спасибо! Это сработало! Теперь у меня есть небольшая проблема. Как я также не могу добавить http: //, когда поле пусто? Не во всех полях есть веб-сайт, поэтому я хочу оставить их пустыми, если они уже пустые. Благодарю.
  • 0
    ОБНОВИТЬ контакты УСТАНОВИТЬ website = CONCAT ('http: //', website) ГДЕ САЙТ НЕ НРАВИТСЯ '%: //%' И САЙТ НЕ НРАВИТСЯ ''

Ещё вопросы

Сообщество Overcoder
Наверх
Меню