gpt4 book ai didi

mysql - 使用触发器插入 mm/dd/yyyy 日期时间值

转载 作者:行者123 更新时间:2023-11-30 00:01:29 25 4
gpt4 key购买 nike

我想将美国风格的日期插入表中。

INSERT INTO mytable BeginDateTime, EndDateTime VALUES ('6/21/1999 9:00 AM', '3/3/2003 3:00 PM')

我尝试创建触发器:

CREATE TRIGGER `us2isodate` BEFORE INSERT ON `mytable`
FOR EACH ROW BEGIN
SET NEW.BeginDateTime = STR_TO_DATE(NEW.BeginDateTime, '%m/%e/%Y %r');
SET NEW.EndDateTime = STR_TO_DATE(NEW.EndDateTime, '%m/%e/%Y %r');
END

这似乎不起作用,因为我认为日期在传递给 STR_TO_DATE 函数之前已经被评估为 NULL。是否可以使用触发器来处理此问题,或者是否有必要在插入语句中或之前正确设置日期格式。

最佳答案

如果数据来自 CSV 文件,则不需要触发器。它也不适用于触发器。

您可以使用LOAD DATA INFILE命令插入数据,如下所示:

LOAD DATA LOCAL INFILE "/path/to/file.csv" 
INTO TABLE your_table
FIELDS TERMINATED BY "whatever"
(col1,@my_date)
SET your_datetime_column = STR_TO_DATE(@my_date, '%m/%e/%Y %r');

关于mysql - 使用触发器插入 mm/dd/yyyy 日期时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com