Необходимо проверить были ли внесены изменения в таблицу базы данных. Хочу реализовать это следующим образом: считать хэш значение таблицы, затем сравнить с полученным ранее. Вопрос таков: Существует ли в MySQL возможность посчитать контрольную сумму всех записей в таблице? И есть ли другой способ проверить были ли внесены последние изменения в таблицу?
Я не спец в базах данных, но кажись чтоб создать триггер надо иметь соответсвующие права. Ели так, то я думаю это не реально на провайдерском хостинге. Скорее всего прав не дадут.
aleksen Можно таблице дать дополнительное поле changed TIMESTAMP NULL - оно будет автоматически обновляться до текущей даты при добавлении/изменении записи - а потом в качестве контрольной суммы брать дату/время последнего изменения запросом SELECT MAX(changed) FROM mytable.
1) При создании таблицы укажи опцию CHECKSUM=1, тогда контрольная сумма будет сама меняться при изменении таблицы [sql]CREATE TABLE test ( ... ) CHECKSUM=1;[/sql] Чтобы получить контрольную сумму выполняй запрос: [sql]CHECKSUM TABLE test;[/sql] 2) Или выполняй запрос [sql]SHOW TABLE STATUS LIKE 'test'[/sql] И смотри на Update_time