mysql 插入数据常见报错之一
插入数据报错:
SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‘\xF0\x9F\x8D\x83’ for column ‘per_name’ at row 1。
产生错误原因是,入库字段设置的字节无法满足要求。一般文字 字节在1-3之间,但是有些生僻字或emoji表情,例如产生此报错的文字是四个字节就无法入库而报错。
解决办法:将数据库此字段设置为 utf8mb4_general_ci 即可。
方法二:你也可以选择用正则或其它方式,只截取字节长度1-3之间内容再进行插入数据
mysql 5.7.9 插入数据异常,异常如下。
在 /etc/ 文件里加上如下:
sql_mode=NO_ENGINE_SUBSTITUTION,然后重启Mysql服务就可以了。
MYSQL数据库插进数据为中文时就提示错误
A. 字符编码:“使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8。 此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 ():把其中 的STRICT_TRANS_TABLES,去掉,或者把sql- mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注释掉,然 后重启mysql就ok了”
MySQL错误SQL Error:1366怎么处理
MySQL 错误 SQL Error: 1366 的解决方法
SQL Error: 1366 是一个常见的 MySQL 错误,通常表示在执行 SQL 查询时,数据类型不匹配或者数据超出了范围。为了解决这个错误,我们需要先理解它的成因,然后针对性地采用解决方案。
错误成因:
1. 数据类型不匹配:当我们在查询中使用了错误的数据类型,或者尝试将一个数据类型的值插入到另一个数据类型不匹配的字段中时,就会发生这个错误。
例如,我们有一个类型为 INT 的字段,但我们尝试将一个字符串值插入到这个字段中,这就会导致 SQL Error: 1366。
2. 数据超出了范围:如果我们尝试将一个超出了字段允许的范围的值插入到数据库中,也会引发这个错误。
解决方案:
1. 确保数据类型匹配:我们需要检查我们的 SQL 查询,确保我们插入或更新的数据与字段的数据类型匹配。
例如,如果字段是 INT 类型,我们就不能插入字符串值。如果需要插入字符串,应确保字段是 VARCHAR 或 TEXT 类型。
2. 检查数据是否在有效范围内:我们需要检查我们插入或更新的数据是否在字段的有效范围内。
总结:
SQL Error: 1366 是一个常见的 MySQL 错误,主要成因是数据类型不匹配或数据超出了范围。为了解决这个问题,我们需要仔细检查我们的 SQL 查询,确保数据类型匹配和数据在有效范围内。只有这样,我们才能避免这个错误,保证数据库的正常运行。
你 发表评论:
欢迎