如何在客户端在表上添加新行时创建记录表,该表保留;在MYSQL中创建记录表
- 客户端的ID,
- 时添加的数据,
- 数据的标识。
例如我在mysql中有一个PersonTable;当客户端(用户表中的Id为2)添加了一个新的Id为12的人时,我的记录表会自动添加cliend_id(2),related_Id(12)和新记录的创建时间。
我想在mysql中有一种方法,写触发器是可能的,但是有没有什么可能的方法。我是mysql的初学者。谢谢
如何在客户端在表上添加新行时创建记录表,该表保留;在MYSQL中创建记录表
例如我在mysql中有一个PersonTable;当客户端(用户表中的Id为2)添加了一个新的Id为12的人时,我的记录表会自动添加cliend_id(2),related_Id(12)和新记录的创建时间。
我想在mysql中有一种方法,写触发器是可能的,但是有没有什么可能的方法。我是mysql的初学者。谢谢
我不确定你运行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