Все, что я хочу сделать, — это заменить случайный удар (/
) в одном из моих полей таблицы. Следующий код не работает:
UPDATE table SET numberClean = REPLACE(REPLACE(numberNotClean, '.', ''), '\/', '');
В настоящее время он выполняется в моем PHP-скрипте, все остальные мои запросы замены (которые также экранируют символы) работают правильно.
Любая помощь будет принята с благодарностью, спасибо!
Прямые косые черты не нужно избегать
UPDATE myTable SET fieldName=REPLACE(fieldName,'/','')
Ваш текущий код заменит любое вхождение \/
в строке. Поскольку косую черту не нужно экранировать, MySQL считает, что \/
как просто строка без какого-либо особого значения.
UPDATE table SET numberClean = REPLACE(numberClean, '/', '');
Слеш в MySQL
не имеют особого значения, что означает, что вы не должны избегать их:
UPDATE `table`
SET `numberClean` = REPLACE(
REPLACE(
`numberNotClean`,
'.',
''
),
'/',
''
);
Вы пробовали это с
UPDATE table SET numberClean = REPLACE(REPLACE(numberNotClean, '.', ''), '/', '');