【问题标题】:Checking if a Database has been updated检查数据库是否已更新
【发布时间】:2010-12-18 04:20:36
【问题描述】:

在 C# Winforms 应用程序(没有 Datagrids :-))中,如何编写查询来检查 MySQL 数据库是否已更新?我想说的是:“自 [客户最新获得更新日期] 以来,您是否更新过任何内容?”

谢谢:)

【问题讨论】:

标签: c# mysql database winforms


【解决方案1】:

你可以在information_schema上使用,喜欢

select max(update_time) 
from information_schema.tables 
where table_schema='YOUR_DATABASE'
mysql> desc information_schema.tables;
+-----------------+--------------+------+-----+--- ------+--------+
|领域 |类型 |空 |钥匙 |默认 |额外 |
+-----------------+--------------+------+-----+--- ------+--------+
|表目录 | varchar(512) |是 | |空 | |
|表模式 | varchar(64) |否 | | | |
|表名 | varchar(64) |否 | | | |
|表类型 | varchar(64) |否 | | | |
|发动机 | varchar(64) |是 | |空 | |
|版本 |大整数(21) |是 | |空 | |
| ROW_FORMAT | varchar(10) |是 | |空 | |
|表行 |大整数(21) |是 | |空 | |
| AVG_ROW_LENGTH |大整数(21) |是 | |空 | |
| DATA_LENGTH |大整数(21) |是 | |空 | |
| MAX_DATA_LENGTH |大整数(21) |是 | |空 | |
| INDEX_LENGTH |大整数(21) |是 | |空 | |
| DATA_FREE |大整数(21) |是 | |空 | |
|自动增量 |大整数(21) |是 | |空 | |
|创建时间 |日期时间 |是 | |空 | |
|更新时间 |日期时间 |是 | |空 | |
| CHECK_TIME |日期时间 |是 | |空 | |
| TABLE_COLLATION | varchar(64) |是 | |空 | |
|校验和 |大整数(21) |是 | |空 | |
| CREATE_OPTIONS | varchar(255) |是 | |空 | |
| TABLE_COMMENT | varchar(80) |否 | | | |
+-----------------+--------------+------+-----+--- ------+-------+

【讨论】:

  • +1 这很好,但是如果您想了解每张桌子的情况怎么办。这也可能吗?
  • 谢谢 :) 我接受了@Kim 的回答,因为这将是一种更好的方法,可以在相当有限的互联网计划中最大限度地减少数据使用量。
【解决方案2】:

您可以改用版本号方案。比较一个简单的数字可能比比较日期更快。但是,如果您知道您的应用程序是唯一更新数据库的应用程序,那么您可以在数据访问层中构建一个通知服务,该服务将异步通知订阅者更新。

【讨论】:

  • 谢谢!这将更适合我 :) 当它允许时我会接受 ;)
猜你喜欢
  • 2012-08-03
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 2015-12-01
相关资源
最近更新 更多