我正在尝试将数据填充到Employee表中,其中B_Date在Mysql中设置为DATE。但是出现此错误-
行导入失败,出现错误:(“错误的日期值:行1的'B_DATE'的日期值为'05 / 06/1985'”,1292)
那么如何针对特定表或列将格式更改为DD-MM-YYYY?
我已经尝试过-
从员工那里选择DATE_FORMAT(B_DATE,'%d-%m-%y');
在加载数据时仍然给出相同的错误。
答案 0 :(得分:0)
由于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");
答案 1 :(得分:0)
最后由Mossad提出的建议在这里作了解释:
要将格式字符串的日期从csv文件插入到mysql表中。您也可以在mysql工作台中运行以下命令。
步骤1 :将隐蔽表日期列类型转换为varchar()并导入文件。
步骤2 :使用str_to_date函数更新日期列的所有值。
更新
Table
设置date
= STR_TO_DATE(date
,'%d-%m-%Y')
第3步:将日期列数据类型重置为DATE。
更改表
Table
更改列date
date
日期