我正在尝试编写一个插入查询,我想在其中添加另一个表的校验和。
我的引擎是InnoDb而不是MyIsam。
因此INFORMATION_SCHEMA.TABLES中的校验和都为空。
但是当我运行像
这样的查询时CHECKSUM TABLE TABLE_NAME
它为我提供了该表的校验和。我想知道如何存储这个价值。 或者我有什么方法可以找到对表的更改。 触发器是一种方式。但是当它们有多个变化时,我会删除并运行我的脚本并创建所有表。 (所有表都是从csv excel表创建的,它们正在改变。)
到目前为止,我已经尝试过这个:
INSERT INTO `XYZ` (`TABLE_NAME`, `ABC`, `CHECKSUM`)
VALUES
('X',
1,
(SELECT Checksum FROM CHECKSUM TABLE 'X')
);
但它给了我以下错误:
1064 - 您的SQL语法出错;检查手册 对应于您的MariaDB服务器版本,以获得正确的语法 在第1行'TABLE'X'))'附近使用
可以使用以下链接中的查询计算表的校验和: https://dev.mysql.com/doc/refman/5.7/en/checksum-table.html
有人可以帮帮我吗?谢谢 。