在MySQL中查找列创建时间

时间:2017-05-02 14:50:20

标签: mysql

我想知道是否可以在表格中获取列的创建日期?我希望看到稍后添加的列的创建时间。

1 个答案:

答案 0 :(得分:0)

因此,您可以非常轻松地获取该表的信息。您可以在information_schema中查询表的create_time。

例如:

SELECT create_time FROM INFORMATION_SCHEMA.TABLES
  WHERE table_schema = 'your_schema'
  AND table_name = 'your_table'

点击此处了解更多信息: https://dev.mysql.com/doc/refman/5.7/en/tables-table.html

对于特定列,这并不是那么简单,因为没有任何系统表(即,INFORMATION_SCHEMA数据库中没有任何内容)存在任何记录在任何地方的信息。换句话说,没有本机机制可以在列更改上添加任何时间戳。

任何时候:

  1. 任意行中的一列或多列更改
  2. 添加了新行
  3. 旧的已删除
  4. 任何类型的ALTER TABLE
  5. INFORMATION_SCHEMA.TABLES中的UPDATE_TIME列已更新。

    您可以非常简单地找到过去一小时(或您选择的时间间隔)内的所有更改:

    SELECT CONCAT(TABLE_SCHEMA, '.', TABLE_NAME) AS Table, UPDATE_TIME AS Updated
    FROM INFORMATION_SCHEMA.TABLES
      WHERE DATE_SUB(NOW(), INTERVAL 1 HOUR) < UPDATE_TIME
      AND TABLE_SCHEMA != 'INFORMATION_SCHEMA'
      AND TABLE_TYPE = 'BASE TABLE';
    

    我希望这会有所帮助。