Mysql 如何更改列数据类型,使日期不会出错?

Mysql 如何更改列数据类型,使日期不会出错?,mysql,sql,date,Mysql,Sql,Date,我有一个数据类型为varchar(50)的列,但它以这种格式存储日期1/1/2000。 我使用以下方法将数据类型更改为最新: alter table test_table modify date date; 但这将数据值从1/1/2000更改为1/1/0001 12:00:00 AM 我想将数据类型更改为date,但数据不应该像这样乱七八糟。步骤1-添加数据类型date的新列 步骤2-使用str_to_date()更新新列。这允许您指定正在使用的格式 步骤3-删除旧列 步骤4-重命名新列步骤

我有一个数据类型为varchar(50)的列,但它以这种格式存储日期
1/1/2000
。 我使用以下方法将数据类型更改为最新:

 alter table test_table modify date date;
但这将数据值从
1/1/2000
更改为
1/1/0001 12:00:00 AM


我想将数据类型更改为date,但数据不应该像这样乱七八糟。

步骤1-添加数据类型date的新列

步骤2-使用str_to_date()更新新列。这允许您指定正在使用的格式

步骤3-删除旧列


步骤4-重命名新列

步骤1-添加数据类型为date的新列

UPDATE test_table  SET column=STR_TO_DATE(column,'%m/%d/%Y')
步骤2-使用str_to_date()更新新列。这允许您指定正在使用的格式

步骤3-删除旧列

步骤4-重命名新列

UPDATE test_table  SET column=STR_TO_DATE(column,'%m/%d/%Y')
只需使用这个,并改变格式,以符合你所拥有的,不能告诉什么是天或月。 它会将您的列修改为日期类型,无需重新创建其他列

只需使用这个,并改变格式,以符合你所拥有的,不能告诉什么是天或月。 它会将您的列修改为日期类型,无需重新创建其他列