Я хочу найти все таблицы и представления, созданные до определенной отметки времени.Для таблиц это просто, просто
SELECT * FROM information_schema.tables
WHERE table_type = 'TABLE' AND create_time < :ts
Но для представлений это не так просто.Столбец create_time
равен нулю для всех представлений в information_chema.tables
.например,
MariaDB [MYDB]> SELECT IF(create_time IS NULL, 'Null', 'Not Null') AS has_create_ts
, COUNT(1)
FROM information_schema.tables
WHERE table_type = 'VIEW' GROUP BY has_create_ts;
+---------------+----------+
| has_create_ts | COUNT(1) |
+---------------+----------+
| Null | 70 |
+---------------+----------+
1 row in set, 10 warnings (0.371 sec)
А таблица information_schema.views
не имеет столбцов меток времени.
Так как же узнать, когда было создано представление?Или это просто невозможно.
Если это имеет значение, версия базы данных:
MariaDB [MYDB]> SELECT VERSION();
+--------------------+
| VERSION() |
+--------------------+
| 10.3.7-MariaDB-log |
+--------------------+
1 row in set (0.392 sec)