Это самый простой пример, который я могу себе представить, который передает редкие случаи, когда эта особенность уместна:
#include <iostream>
class bowl {
public:
int apples;
int oranges;
};
int count_fruit(bowl * begin, bowl * end, int bowl::*fruit)
{
int count = 0;
for (bowl * iterator = begin; iterator != end; ++ iterator)
count += iterator->*fruit;
return count;
}
int main()
{
bowl bowls[2] = {
{ 1, 2 },
{ 3, 5 }
};
std::cout << "I have " << count_fruit(bowls, bowls + 2, & bowl::apples) << " apples\n";
std::cout << "I have " << count_fruit(bowls, bowls + 2, & bowl::oranges) << " oranges\n";
return 0;
}
Здесь следует отметить указатель, переданный в count_fruit. Это избавит вас от необходимости писать отдельные функции count_apples и count_oranges.
SELECT update_time
FROM information_schema.tables
WHERE table_schema = 'dbName'
AND table_name = 'tableName'
Просто, чтобы все таблицы в одной базе данных использовали этот запрос
SELECT TABLE_NAME,CREATE_TIME,UPDATE_TIME
FROM information_schema.tables
WHERE table_schema = 'database_name'
Вот и все
Я нашел этот метод из http://mysqladministrators.blogspot.it/2012/02/get-database-size.html
Не уверен, что он может помочь вам, так как я не так подготовлен в MySql
Получает размер базы данных, свободное пространство и последнее обновление
. Чтобы получить текущий размер базы данных, просто запросив запрос в свой запрос браузера или CLI из базы данных INFORMATION_SCHEMA в таблице TABLES.
SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;
Получить свободное пространство базы данных
SELECT table_schema "Data Base Name",
sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB",
sum( data_free )/ 1024 / 1024 "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema;
Получить последнее обновление базы данных, упорядоченное по времени обновления, а затем создать время.
SELECT MAX(UPDATE_TIME), MAX(CREATE_TIME), TABLE_SCHEMA
FROM `TABLES`
GROUP BY TABLE_SCHEMA
ORDER BY 1, 2;
Принятый ответ велик, но я думаю, что лучший формат в случае, если он не сразу станет очевидным для новичков:
SELECT table_name, update_time
FROM information_schema.tables
WHERE table_schema = 'myDBName'
order by update_time DESC
Поскольку мы не всегда знаем, какие таблицы (таблицы) были затронуты, и у этого есть бонус дать представление о том, что было за активность, показывая наиболее недавно обновленные таблицы.