我正在尝试将数据填充到Employee表中,其中在Mysql中B_Date设置为DATE。但是出现此错误-
行导入失败,出现错误:(“错误的日期值:行1的'B_DATE'的日期值'05 / 06/1985',1292)]
因此,如何将特定表或列的格式更改为DD-MM-YYYY?
我已经尝试过-
SELECT DATE_FORMAT(B_DATE,'%d-%m-%y')来自雇员;
加载数据时仍然给出相同的错误。
由于MySql在日期类型列中接受y-m-d格式的日期,因此您需要STR_TO_DATE函数将日期转换为yyyy-mm-dd格式,以便通过以下方式进行插入:
INSERT INTO table_name(today)
VALUES(STR_TO_DATE('07-25-2012','%m-%d-%y'));
Similary,如果要选择Mysql格式以外的其他格式的日期,则应尝试使用DATE_FORMAT
功能
SELECT DATE_FORMAT(today, '%m-%d-%y') from table_name;
编辑:
用于更改列以接受ur格式的数据,
mysql_query("UPDATE `Table` SET `date` = STR_TO_DATE(`date`, '%d-%m-%Y')");
mysql_query("ALTER TABLE `Table` CHANGE COLUMN `date` `date` DATE");
Mossad的最后建议解释了:
将表单字符串的日期从csv文件插入到mysql表中。您也可以在mysql工作台中运行以下命令。
step1:隐蔽表日期列类型为varchar()并导入文件。
step2:使用str_to_date函数更新date列的所有值。
更新
Table
设置date
= STR_TO_DATE(date
,'%d-%m-%Y')
step3:将日期列数据类型重置回DATE。
更改表
Table
更改列date
date
日期