Mysql - 选择到 XML

标签 mysql sql xml parsing audit-trail

我正在使用触发器构建审计跟踪,并且希望将插入/更新/删除的值转换为 XML 并将其存储到另一个表中。

我的触发器如下所示:

DELIMITER $$

CREATE
    TRIGGER `MyDB`.`TriggerAudit` AFTER INSERT
    ON `MyDB`.`settings`
    FOR EACH ROW BEGIN
    INSERT INTO insert_audit_trail (user_uid, table_name, inserted_value) 
    VALUES ('the Username', 'the table name', 'Select to XML In Here')
    END$$

DELIMITER ;

通常在 MSSQL 中我可以使用 FOR XML 函数,但在我不知道在 MySQL 中这样做。 有什么解决办法吗?

最佳答案

恐怕您无法通过普通查询来完成此操作,但您可以从 mysql 转储内容,从命令行提供对 XML 的查询,例如

shell> mysql --xml -uroot -e "SHOW VARIABLES LIKE 'version%'"
<?xml version="1.0"?>

<resultset statement="SHOW VARIABLES LIKE 'version%'" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="Variable_name">version</field>
<field name="Value">5.0.40-debug</field>
</row>

参见http://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html#option_mysql_xml

与从触发器调用不同,我知道:-(

关于Mysql - 选择到 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214644/

相关文章:

MySQL根据字段值LEFT JOIN不同的表

javascript - 从 HTML 页面插入 XML

mysql存储过程select和update selected

mysql - 我需要删除列中所有前导 0

mysql - 使用数学计算进行查询的性能问题

sql - 在T-SQL中,如何插入默认设置为所有值的新行?

xml - 查询 xml 列的一部分作为结果集

android - 如何让两个图像和一个 TextView 在一个条中具有相同的高度并填充整个宽度?

php - 无法将文本值上传到mysql

php - 编辑记录 PHP 表单