Php 是否将varchar列更改为datetime?

Php 是否将varchar列更改为datetime?,php,mysql,Php,Mysql,我在mysql表中有一个名为dtm的列 其中的数据类似于20200525/0704Z 它有祖鲁格式的日期和时间。 当前列类型为varchar 255 如何将其转换为更有用的列类型,如datetime 我得到太大的精度误差最大是6时,试图只是改变列类型。 谢谢您最好使用datetime数据类型创建第二列。然后使用php转换旧的dtm格式并将其更新为新的datetime列,最后删除旧的dtm列。这是@Calvin Tan答案的附录,因为它不适合评论部分 您可以使用以下查询直接在MySQL中从旧列填充

我在mysql表中有一个名为dtm的列 其中的数据类似于20200525/0704Z 它有祖鲁格式的日期和时间。 当前列类型为varchar 255

如何将其转换为更有用的列类型,如datetime

我得到太大的精度误差最大是6时,试图只是改变列类型。
谢谢

您最好使用datetime数据类型创建第二列。然后使用php转换旧的dtm格式并将其更新为新的datetime列,最后删除旧的dtm列。

这是@Calvin Tan答案的附录,因为它不适合评论部分

您可以使用以下查询直接在MySQL中从旧列填充新列:

更新表格设置新日期=CONCAT SUBSTRold_日期,1,4, '-', SUBSTRold_日期,5,2, '-', SUBSTRold_日期,7,2, ' ', SUBSTRold_日期,10,2, ':', SUBSTRold_日期,12,2, ':00' ; 将字符串重新格式化为2020-05-25 07:04:00


还请记住,MySQL日期/时间类型没有时区的概念。

创建一个新的列代码,假设您没有更改需要该格式的整个代码库。。使用datetime生成dtmtmp等列。。制作一个5-10行的脚本,循环修改格式并添加到列中,删除旧列并代码重命名新列,煮咖啡。请将Calvin的答案标记为已接受,因为我说过我的答案只是他的补充。