Php 将列的格式更改为datetime MySql
我遇到了一个问题,我公司的某个驴子用MySql创建了一个数据库,我们得到了一列日期,他将其设置为varchar。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
我们无法建立其他数据库,因为它至少在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方法,似乎对我有效,但谢谢:)对我来说似乎是个错误,但不管你的船怎么漂。