STR_TO_DATE应该用于获取您的日期和时间
mysql> SELECT STR_TO_DATE('01/01/2001', '%m/%d/%Y');
+---------------------------------------+
| STR_TO_DATE('01/01/2001', '%m/%d/%Y') |
+---------------------------------------+
| 2001-01-01 |
+---------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT STR_TO_DATE('10:53:11 AM','%h:%i:%s %p');
+------------------------------------------+
| STR_TO_DATE('10:53:11 AM','%h:%i:%s %p') |
+------------------------------------------+
| 10:53:11 |
+------------------------------------------+
1 row in set (0.00 sec)
mysql>您如何“手动”确定每行数据属于哪个城市?是否可以包含导入数据文件的示例行?假设你有某个city_ID,(在下面的代码中替换):
看起来你想要使用它:LOAD DATA INFILE
如果要插入数据的城市是来自名为“Boston.dat”的文件的波士顿,并且您的城市名称表中存在条目:
SET @c_name = 'Boston';
SET @filename = CONCAT(@c_name,'.dat');
LOAD DATA INFILE @filename
INTO TABLE city_moisture
(@date, @time, open, high, low, close)
SET city_ID=(SELECT city_ID FROM TABLE cityname WHERE city_name=@c_name),
date=STR_TO_DATE(@date, '%m/%d/%Y'),
time=STR_TO_DATE(@time, '%H:%i:%s %p');离开AM PM部分的时间听起来似乎是一个坏主意。