在MYSQL中创建记录表

时间:2017-02-08 12:04:26

标签: mysql triggers

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

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

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

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

1 个答案:

答案 0 :(得分: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列可以自动生成   初始化并更新到当前日期和时间(即,   当前时间戳)。在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