Оператор Update с функцией Replace приводит к нулевому значению «0» для всех строк - PullRequest
0 голосов
/ 03 октября 2019

Я запустил следующий оператор в нашей тестовой базе данных mysql, он работает правильно. Однако, когда я запустил его в работе, я получил все строки, в том числе строки CLASS = 'ClassName', обновленные со значением XML, равным 0!

 UPDATE table_name c set c.XML= REPLACE (c.XML, '<flag_name>false</flag_name>', '')
WHERE c.CLASS = 'ClassName' 

Я хочу знать причину этого странного поведения?

Примечание. Структура таблицы следующая:

CREATE TABLE `table_name` (
  `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `CLASS` varchar(250) NOT NULL,
  `XML` mediumtext NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=23510 DEFAULT CHARSET=utf8;

Ожидаемое поведение - удалить целевой тег

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...