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