SQLSTATE[HY000]: General error: 1366 Incorrect string value
Error string sqlstate HY000 value Incorrect General
2023-09-11 14:20:09 时间
在Laravel项目的 storages/logs/Laravel.log
看到的错误信息片段:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x91\x8B\xF0\x9F...' for column 'name' at row 1
出错原因:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同;不相同则会引发MySQL1366错误。
解决方法:
#1.检查数据表所有字段的状态
mysql> SHOW FULL COLUMNS FROM tdb_goods;
#2.发现collatioin项非utf8,需要进行修改,使用如下的语句
mysql> alter table tdb_goods change goods_name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
#3.检查数据表所有字段的状态
mysql> SHOW FULL COLUMNS FROM tdb_goods;
mysql> select * from tdb_goods\g
mysql语句的\g
等同于;
,\G
:将查询到的横向表格纵向输出,方便阅读
未进行修改my.cnf,下面内容可跳过。记录自己的了解和尝试
参考别人的博文,说是 mysql的配置sql-model
不正确导致的,需要将 my.cnf
中的sql-model
中的STRICT_TRANS_TABLES
删除
STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)
我的mysql配置文件是在/etc/my.cnf
sudo cp /etc/my.cnf /etc/my.cnf_bak190628
sudo vim /etc/my.cnf
将
[mysqld]
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
改为
[mysqld]
sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
删除了STRICT_TRANS_TABLES
,然后重启 mysql
不修改 my.cnf (在不清楚my.cnf存放的位置时可使用的,但是在mysql服务重启之后,这个设置会失效)
show variables like 'sql_mode';
set global sql_mode='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
References
相关文章
- 【异常】ERROR in ch.qos.logback.core.joran.spi.Interpreter@159:22 - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]
- Open Flash Chart IO ERROR Loading test data Error #2032
- C#基础知识系列一(goto、i++、三元运算符、ref和out、String和string、重载运算符)
- Error:java: Compilation failed: internal java compiler error(转)
- 使用Git pull文件时,出现"error: RPC failed; curl 18 transfer closed with outstanding read data remaining"
- [AngularJS] Error: $location:nobase
- loadrunner11 错误:Error -26377: No match found for the requested parameter XXXX. web_custom_request(XXX) highest severity level was "ERROR",....... [MsgId: MMSG-26387]
- ERROR: Upgrade faifailed bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost'
- Run Configuration error:broken configuration due to unavailable
- php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?
- Error -27492: "HttpSendRequest" failed, Windows error code=12152 (invalid server response) and retry。。。
- C++项目链接出错, error LNK2019: 无法解析的外部符号 __imp_xxxx_Allocate,该符号在函数 "xxxx" (xxxx) 中被引用
- Error message COM_PRODUCT 503 Data cannot be maintained for set type COM_TA_R3_ID
- 从jMeter连接website超时报出的error callstack看它的HTTP通信原理
- Error: String or binary data would be truncated. The statement has been terminated
- Atiti. Php Laravel 5.1 环境搭建以及 error 排除
- Error:Execution failed for task ‘:app:packageRelease‘. > com.android.ide.common.signing.KeytoolExcep
- 【报错解决】Python re模块 sub函数 :Error expected string or bytes-like object
- 【问题解决】(error) ERR Errors trying to SHUTDOWN. Check logs
- macOS Error: An unexpected error occurred during the `brew link` step
- (一)Jenkins部署项目到Gitee报错ERROR: Couldn‘t find any revision to build. Verify the repository and branch
- Error:In <declare-styleable> FontFamilyFont, unable to find attribute android:font
- Android Studio报错:Error status code 400 from server: Bad Request解决