【发布时间】:2022-12-15 18:27:33
【问题描述】:
我正在尝试在 Laravel 中使用 DB::select(DB::raw(..)) 执行 RAW 查询,但它返回
SQLSTATE[22007]:无效的日期时间格式:1292 截断的不正确时间值
仅供参考,
MySQLdb 中的列是TIMESTAMP数据类型。 在MySQLWorkbench 中执行的相同查询工作正常。我假设 Laravel-MySQL 通信的一些默认设置可能是罪魁祸首,但我可能是错的。
提前致谢!
尝试用谷歌搜索这个问题,除了将 config/database.php >> mysql >> strict mode 更改为 False 之外,找不到太多关于这个问题的信息,因为默认值为 True。 除非绝对必要,否则我不想更改配置文件。 这让我想到,MySQL 严格模式到底指的是什么?
【问题讨论】:
-
请提供足够的代码,以便其他人可以更好地理解或重现问题。
-
在 MySQL Workbench 中执行的相同查询工作正常。开启general log,保证MySQL收到的query是真的一样。
-
来自错误日志的查询在 MySQL Workbench 中工作正常。我已经在工作台中复制并执行了错误日志中记录的确切 sql 查询。
标签: php mysql sql laravel laravel-9