Проверка, была ли база данных обновлена - PullRequest
0 голосов
/ 18 декабря 2010

В приложении C # Winforms (НЕТ Datagrids :-)), как написать запрос, чтобы проверить, обновлена ​​ли база данных MySQL?Я хочу сказать что-то вроде: «Вы обновили что-нибудь с [дата, когда клиент получил последние обновления]?»

Спасибо :))

Ответы [ 2 ]

2 голосов
/ 18 декабря 2010

Вы можете использовать на information_schema, например

select max(update_time) 
from information_schema.tables 
where table_schema='YOUR_DATABASE'
mysql> desc information_schema.tables;
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG   | varchar(512) | YES  |     | NULL    |       |
| TABLE_SCHEMA    | varchar(64)  | NO   |     |         |       |
| TABLE_NAME      | varchar(64)  | NO   |     |         |       |
| TABLE_TYPE      | varchar(64)  | NO   |     |         |       |
| ENGINE          | varchar(64)  | YES  |     | NULL    |       |
| VERSION         | bigint(21)   | YES  |     | NULL    |       |
| ROW_FORMAT      | varchar(10)  | YES  |     | NULL    |       |
| TABLE_ROWS      | bigint(21)   | YES  |     | NULL    |       |
| AVG_ROW_LENGTH  | bigint(21)   | YES  |     | NULL    |       |
| DATA_LENGTH     | bigint(21)   | YES  |     | NULL    |       |
| MAX_DATA_LENGTH | bigint(21)   | YES  |     | NULL    |       |
| INDEX_LENGTH    | bigint(21)   | YES  |     | NULL    |       |
| DATA_FREE       | bigint(21)   | YES  |     | NULL    |       |
| AUTO_INCREMENT  | bigint(21)   | YES  |     | NULL    |       |
| CREATE_TIME     | datetime     | YES  |     | NULL    |       |
| UPDATE_TIME     | datetime     | YES  |     | NULL    |       |
| CHECK_TIME      | datetime     | YES  |     | NULL    |       |
| TABLE_COLLATION | varchar(64)  | YES  |     | NULL    |       |
| CHECKSUM        | bigint(21)   | YES  |     | NULL    |       |
| CREATE_OPTIONS  | varchar(255) | YES  |     | NULL    |       |
| TABLE_COMMENT   | varchar(80)  | NO   |     |         |       |
+-----------------+--------------+------+-----+---------+-------+
0 голосов
/ 18 декабря 2010

Вместо этого вы можете использовать схему номеров версий.Сравнение простого числа может быть быстрее, чем сравнение дат.Но если вы знаете, что ваше приложение - единственное, которое обновляет базу данных, вы можете встроить службу уведомлений в слой доступа к данным, который бы асинхронно оповещал подписчиков об обновлениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...