MySQL 报错 SQLSTATE [HY000]: General error: 2036 怎么解决
SQLSTATE[HY000]: General error: 2036 (SQL: select * from
car_clue_discusswherecar_clue_discuss.car_clue_idin (5, 6, 7, 8) order bycreated_atdesc)
上面的语句MySQL报错.不知道怎么解决了
by JeffreyBool blog :point_right: link
@Apodabird 用不着,改下配置就好了.关闭 mysql 严格模式就行了,这是因为 mysql 5.7 默认严格模式
<?php
.
.
.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
'timezone' => env('DB_TIMEZONE', '+00:00'),
],
只要把 strict 的值变为false 即可
关于 LearnKu
car_clue_discuss.car_clue_id 这个错了
@helloBear 不是sql语句的问题
今天也遇到了这样的错误,我将php的mysql驱动(php-mysql)卸载换成了php-mysqlnd(Mysql Native Driver)解决的
@Apodabird 用不着,改下配置就好了.关闭 mysql 严格模式就行了,这是因为 mysql 5.7 默认严格模式
只要把
strict的值变为false即可@kenuo 我试了下,可以,不过关闭严格模式这样子使用Eleqount模型创建一条数据时,mysql字段的数据类型长度约束不起作用了。
例如表中有一个content字段,数据类型varchar(191),关闭严格模式后再次插入可以超出191字符这个限制(也就是不会抛出异常),但是数据库插入的content被截断成191了
@kenuo 额,我了解了,谢谢