我需要从 bash 脚本更新 mysql 表中的 xml,所以当我从命令行尝试此操作时:
mysql -uadmin -p**** -h127.0.0.1 db -e "UPDATE my_table set my_field = updatexml(my_field, '/config/properties/property[@name="search_property"]', '<property name="search_property" value="new_property_value" />') where name='my_xml_record';"
` 我收到以下错误:
第 1 行的错误 1105 (HY000):XPATH 错误:不支持比较两个节点集:'=search_property]'
但是,当我直接在 mysql 控制台中运行相同的功能时,它可以工作。
mysql> UPDATE my_table set my_field = updatexml(my_field, '/config/properties/property[@name="search_property"]', '<property name="search_property" value="new_property_value" />') name='my_xml_record';
查询正常,1 行受影响(0.01 秒)匹配行:1 更改:1 警告:0
这里可能有什么问题,这个错误对我来说没有意义,因为它在 mysql 控制台中成功执行。