当数据插入行中时自动填充时间的MySQL列
我想问一下,是否可以创建一个MySQL表,在插入新行时自动填充时间列。我通过各种网站研究了时间戳和从DATETIME中选择时间的方法,但不幸的是,我找不到我需要的东西。我正在使用工作台 这是我的表查询当数据插入行中时自动填充时间的MySQL列,mysql,Mysql,我想问一下,是否可以创建一个MySQL表,在插入新行时自动填充时间列。我通过各种网站研究了时间戳和从DATETIME中选择时间的方法,但不幸的是,我找不到我需要的东西。我正在使用工作台 这是我的表查询 create table dev_monitor( device_id varchar(50), power_coms float, date DATE, time TIME); 我使用了一个自动填充日期的触发器 CREATE TRIGGER task_creation_timestamp BE
create table dev_monitor(
device_id varchar(50),
power_coms float,
date DATE,
time TIME);
我使用了一个自动填充日期的触发器
CREATE TRIGGER task_creation_timestamp BEFORE INSERT ON dev_monitor
FOR EACH ROW
SET NEW.date = NOW();
但现在我只剩下时间专栏了
这是我将使用的查询
insert into dev_monitor(device_id, power_coms)
values('aircond2', '3.5');
请注意,我只想插入设备id和功耗,每当我插入这两个数据时,我都会尝试让表自动填充日期和时间,但要在单独的列中。如本文所示,您可以使用时间戳。我不知道是否可以只填写时间,但您只能在以后选择时间,或者在不需要日期信息的情况下创建一个视图
e、 g.
创建视图v1作为选择*,时间(yourDateTime)作为表中的时间代码>鲁本。您可以尝试以下代码
DELIMITER ;;
CREATE TRIGGER device
BEFORE INSERT ON device
FOR EACH ROW
BEGIN
IF new.date IS NULL THEN
SET NEW.date = CURDATE();
SET NEW.time = CURTIME();
END IF;
END
;;
您可以在此链接上进一步参考 您可以编辑表的结构,将“日期”和“时间”列合并为一列,使用数据类型“DATETIME”,并将默认值设置为“NOW()”或“CURRENT_TIMESTAMP()”谢谢您的输入。如果真的没有一个明确的时间列,也许我会使用timestamp。我查看了视图,它对我来说是新事物,但并不能真正解决我的好奇心。我会继续查的。THX有了视图,我想创建一个视图,从您的表中选择内容,并将内容更改为SELECT*,TIME(yourDateTime)为TIME谢谢,这非常有效。我之前无意中发现了这个链接,但无法理解它。没错,这是一个很好的方法,但我更倾向于分别为日期和时间设置两个单独的列。谢谢你的建议!没问题。可能会在某个地方帮助某人。