XML в MySQL
Кавычки вокруг слова «чудесный» какбэ намекают, что я
Речь идёт о двух функциях — ExctractValue и UpdateXML. Если в поле таблицы хранится XML, то первая функция позволит выбрать данные при помощи XPath, а вторая — (при помощи XPath же) изменить
Примерно так:
SELECT ExtractValue('<a>c</a><b/>', '//a');
SELECT UpdateXML('<a><b>ccc</b><d></d></a>', '/a', '<e>fff</e>');
SELECT * FROM users WHERE ExtractValue(info, '//firstname') == 'Иван' AND ExtractValue(info, '//surname') == 'Сагалаев';В случае, если XPath не дал результата или в поле оказался не XML, функции вернут NULL (версии MySQL до 5.1.12 содержат баг и частично могут работать даже
Комментарии 6
(там, к сожалению, данных ранее 2004 года нет, это несколько сглаживает драму)
То есть именно в тот момент, когда этот XML в реляционных БД уже всем успел надоесть, MySQL занимается изобретением велосипеда.
И так у них во всём. Жалко тех, что сейчас делает