大家好,
我正在尝试将具有4列的csv文件上传到MySQL数据库。列为:
user_id, user_name, user_screenname, user_created
user_created 列具有以下格式的日期值:
Tue Nov 14 22:33:19 GMT 2017
Fri Mar 08 16:10:13 UTC 2013
我正在尝试将所有数据上传到已定义数据类型的表中: user_id 是 BIGINT(20),而所有其他列 VARCHAR( 45)以及 user_created 列。
我想尝试执行以下查询以上传数据并格式化 user_created 列中的值,以便将其正确存储在数据库中,但是我的问题是如何强调时区 STR_TO_DATE()语句中的缩写,因为根据我发现的documentation没有特定的说明符描述。任何帮助将不胜感激!
LOAD DATA LOCAL INFILE 'C:/Users/Data/users_data.csv'
INTO TABLE new_schema.user
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(user_id, user_name, user_screenname, @user_created_at)
SET user_created_at = STR_TO_DATE(@user_created_at, '%W %b %e %H:%i:%s GMT/UTC?? %Y);
我尝试使用mysql中所有与时间/日期相关的数据类型进行上传,但正如您所想象的那样,所有警告都警告该格式不正确,无法以任何给定的数据类型进行存储。