CREATE TABLE test (
id INT(11) NOT NULL,
name VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
在上面的例子中,大家定义了一个名为test的表,其中包含id、name、created_at和updated_at四个字段。created_at和updated_at都是TIMESTAMP类型的,分别用于表示创建时间和更新时间。
在created_at字段中,大家使用了DEFAULT CURRENT_TIMESTAMP来指定初始时间为当前时间。在updated_at字段中,大家使用了DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP来指定初始值为当前时间,并且在更新记录时自动更新时间为当前时间。
当大家向这个表中插入新记录时,created_at字段将被自动设置为插入记录时的时间,而updated_at字段将保持原有的值不变。当大家更新一个已有的记录时,updated_at字段将被自动更新为当前时间。
总之,使用MySQL提供的时间相关数据类型,可以方便地处理时间信息。在建立表的过程中,大家可以通过设置DEFAULT值和ON UPDATE来自动更新时间字段的值,从而降低代码的复杂度。