2017-02-08 103 views
0

如何在客户端在表上添加新行时创建记录表,该表保留;在MYSQL中创建记录表

  • 客户端的ID,
  • 时添加的数据,
  • 数据的标识。

例如我在mysql中有一个PersonTable;当客户端(用户表中的Id为2)添加了一个新的Id为12的人时,我的记录表会自动添加cliend_id(2),related_Id(12)和新记录的创建时间。

我想在mysql中有一种方法,写触发器是可能的,但是有没有什么可能的方法。我是mysql的初学者。谢谢

回答

0

我不确定你运行MySQL的版本是什么,但是从版本5.5开始,当使用TIMESTAMP作为类型时,这是可能的。版本> = 5.6.5也支持DATETIME类型的此功能。

-- TIMESTAMP example with 1 column 
CREATE TABLE foo (
    'current_ts' TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
); 

-- DATETIME example with 2 columns 
CREATE TABLE foo (
    'creation_time'  DATETIME DEFAULT CURRENT_TIMESTAMP, 
    'modification_time' DATETIME ON UPDATE CURRENT_TIMESTAMP 
) 

从文档:

在MySQL 5.6.5的,TIMESTAMP和DATETIME列可以是自动 initializated和更新为当前日期和时间(即,当前 时间戳) 。在5.6.5之前,这仅适用于TIMESTAMP,并且 对于每个表最多一个TIMESTAMP列。以下注意事项第一个 描述了MySQL 5.6.5及更高版本的自动初始化和更新, 描述了5.6.5之前版本的差异。

https://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html

https://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html