ОБНОВЛЕНИЕ MySQL таблица, которая содержит запятую (,) в поле - PullRequest
1 голос
/ 22 сентября 2011

В таблицу MySQL импортирован отчет, содержащий сгенерированное пользователем значение поля.

Возможные значения поля:

  • PREFIX, 1234
  • PREFIX1234
  • PREFIX_1234

Все примеры значений представляют собой одно и то же, но вводятся по-разному (я не контролирую систему ввода).

Я хотел бы иметьвсе значения используют этот формат:

  • PREFIX_1234

Я пытался выполнить этот PHP-запрос к базе данных, чтобы исправить значения запятой:

$sql = "UPDATE tableA
SET unit_number = replace(unit_number,'FRGN,','FRGN_')
WHERE unit_number like 'FRGN,%'";

Но, похоже, это не работает.

Нужно ли экранировать запятую в запросе, чтобы она работала?

1 Ответ

1 голос
/ 22 сентября 2011

Попробуйте это:

$sql = "UPDATE tableA
SET unit_number = concat('FRGN_', replace(replace(replace(unit_number,'FRGN,','') ,'FRGN_',''), 'FRGN', ''))";

или

$sql = "UPDATE tableA
SET unit_number = concat('FRGN_', replace(replace(text,'FRGN,','') ,'FRGN',''))
WHERE unit_number NOT LIKE 'FRGN\_%'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...