mysql - 我如何知道 mysql 表是否已更新?

标签 mysql c database

实际上我使用了以下阅读本页另一个问题的句子:

SELECT UPDATE_TIME
FROM   information_schema.tables
WHERE  TABLE_SCHEMA = 'dbname'
   AND TABLE_NAME = 'tabname'

但我认为它使用了大量的处理时间,如果 mysql-server 在表更新时向我发送信号,那么我可以等到我的程序检测到该信号,这样会更容易。

这可能吗?我正在用 C 编程。

非常感谢。

最佳答案

您可以使用触发器结合使用 C(++) 编程的 UDF 来执行通知。
这是伪代码。

DELIMITER $$

CREATE TRIGGER ai_table1_each AFTER INSERT ON table1 FOR EACH ROW
BEGIN
  CALL ChangeNotification('table1', 'insert', NEW.id);
END $$

DELIMITER ;

您必须触发插入/删除和更新操作。每 table 3 次。
您不能向系统表 IIRC 添加触发器,因为这些实际上是 View 而不是实际表。

您需要用 C(++) 编写一个名为 changenotification 的 UDF 来为您发送通知。

链接:
http://dev.mysql.com/doc/refman/5.0/en/adding-udf.html
http://www.mysqludf.org/
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

关于mysql - 我如何知道 mysql 表是否已更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6943539/

相关文章:

asp.net - NHibernate 中的自动更新包

带有时区偏移量而不是 Z 值的 MySQL ISO 8601 日期

database - 如何使用 Sequelize Migrations 删除非键列而不删除相关记录?

mysql - 从sql文件加载存储过程

c - C语言获取文件夹内容

C:节点移除

c - 当 0xFF 在 char 数组中时,它与下一个 char 一起被读取为整数

javascript - 使用 View 在 couchDB 中的文档之间返回唯一值

MySQL:显示更新表

mysql - 在 MySQL 中加载一张表慢得离谱