在MYSQL中插入一行的时间

时间:2015-04-07 05:02:27

标签: mysql

有没有办法获取有关表格中特定行的 insertion time 的信息?

假设我有以下 表(用户)

      ________________
      | ID  | name   |
      |_____|________|
      | 1   |    tom |
      | 2   |   brad |
      |_____|________|

现在,我想知道插入第二行(2,brad)

有可能吗?任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

select table_schema,table_name,max_time 
from information_schema.tables t1 JOIN 
 (select MAX(t2.create_time) AS maximum_time FROM 
  information_schema.tables t2 where  
  table_schema ='user') as t3  
on t1.create_time = t3.max_time;

这将给出表中最后一次插入时间。

旁注:

您可以在表中添加一列,并在插入记录时将时间存储在该列中。这有助于您确定何时插入特定记录。

这样的事情: -

insert into yourtable(ID, name, CreatedTime)
values(2,'Brad',now())

答案 1 :(得分:0)

您必须使用trigger

https://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html

它有点复杂,但确实有用!

delimiter |

CREATE TRIGGER trigger_user_insert BEFORE INSERT ON user
  FOR EACH ROW
  BEGIN
    -- When an insertion occurs, you do your work here with SQL
  END;
|

delimiter ;