Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将列的格式更改为datetime MySql_Php_Mysql_Laravel_Date - Fatal编程技术网

Php 将列的格式更改为datetime MySql

Php 将列的格式更改为datetime MySql,php,mysql,laravel,date,Php,Mysql,Laravel,Date,我遇到了一个问题,我公司的某个驴子用MySql创建了一个数据库,我们得到了一列日期,他将其设置为varchar。 我们无法建立其他数据库,因为它至少在10年前就存在了。 现在我对数据做了一些处理,特别是日期(我需要是一个datetime)。当然,日期的格式是“dd/mm/yyyy h:i”,当我试图将varchar转换为datetime时,我遇到了以下错误: #1292-第1行“column_name”列的日期时间值不正确:“24/08/2020 22:05” 我正在与Laravel和Mysql

我遇到了一个问题,我公司的某个驴子用MySql创建了一个数据库,我们得到了一列日期,他将其设置为varchar。
我们无法建立其他数据库,因为它至少在10年前就存在了。 现在我对数据做了一些处理,特别是日期(我需要是一个datetime)。当然,日期的格式是“dd/mm/yyyy h:i”,当我试图将varchar转换为datetime时,我遇到了以下错误:
#1292-第1行“column_name”列的日期时间值不正确:“24/08/2020 22:05”
我正在与Laravel和Mysql合作


有人知道我该如何摆脱这一困境吗?

好吧,我已经设法将每个“/”改为“-”。 现在我的日期格式类似于“24-08-2020 22:05”
我只需要在每个日期上加上一些秒(比如22:05:00),就可以为datetime设置一个合适的格式

如果您使用的是Laravel,那么只需使用。。。这是进行大规模数据库更新的最干净的方法。然后使用记录的模型更新记录,并使用来处理日期:


你可以使用Carbon,docs,唯一的方法当然是在数据库中运行,并将所有这些转换为格式正确的日期/时间,然后尝试更改列类型。
24/08/2020 22:05
应该是
2020-08-24 22:05:01
@AlzafanChristian我需要编写一个查询,在其中搜索一些数据并需要where子句中的日期,我使用的是day()方法由mysql提供,但我不能在varchar上执行。它仍然需要另一种方式,尽管-2020-08-24对于datetime是正确的。YYYY-MM-DD,而不是DD-MM yyyyysee STR__to_DATE()。@草莓我想我会使用Substring方法,似乎对我有效,但谢谢:)对我来说似乎是个错误,但不管你的船怎么漂。