当我们向数据库插入一条记录时,可能需要设置一些默认值,比如记录创建日期默认为当前时间。在 MySQL 中,我们可以使用 DATETIME 类型来存储日期和时间。那么如何为 DATETIME 类型设置默认值呢?下面提供两种方法。
方法一:使用 DEFAULT 关键字
在创建表时,使用 DEFAULT 关键字设置 DATETIME 字段的默认值。
CREATE TABLE example (
name VARCHAR(50),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
这里我们使用 CURRENT_TIMESTAMP 函数获取当前时间,作为 create_time 字段的默认值。
在插入新记录时,如果没有明确给 create_time 字段赋值,那么它将使用默认值,即当前时间。
INSERT INTO example (name) VALUES ('Jack');
方法二:使用 TRIGGER 触发器
如果已经创建了表,并且需要为一个已存在的 DATETIME 字段添加默认值,那么可以使用 TRIGGER 触发器来实现。
首先,创建一个触发器,在 INSERT 操作时,检查 create_time 是否为空,如果是,则使用 NOW() 函数获取当前时间作为默认值。
CREATE TRIGGER add_create_time
BEFORE INSERT ON example
FOR EACH ROW
BEGIN
IF NEW.create_time IS NULL THEN
SET NEW.create_time = NOW();
END IF;
END;
然后,执行 INSERT 操作即可。如果你没有为 create_time 字段赋值,那么它将使用触发器中设定的默认值,即当前时间。
INSERT INTO example (name) VALUES ('Tom');
以上是使用触发器的方式设置 DATETIME 类型的默认值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql中datetime类型设置默认值方法 - Python技术站