简介:MySQL 插入数据时出现 Incorrect string value 错误,通常是由于字符集不匹配或编码问题导致的。本文将分析该错误的原因,并提供相应的解决方法。
MySQL 插入数据报错 Incorrect string value 通常出现在尝试将某些字符插入数据库时,而这些字符与列的字符集或数据库的默认字符集不兼容。这种情况可能是由于多种原因引起的,下面是一些常见的原因和解决方法:
SHOW CREATE TABLE 命令来查看表的字符集设置。如果需要更改列的字符集,可以使用 ALTER TABLE 命令。例如,将列字符集更改为 utf8mb4:
ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
如果数据编码与数据库默认编码不匹配,可以使用
SHOW VARIABLES LIKE 'character_set%';
CAST 或 CONVERT 函数进行转换。例如:
INSERT INTO your_table_name (your_column_name) VALUES (CAST('your_value' AS CHAR CHARACTER SET utf8mb4));
jdbc//localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8
[mysqld]character-set-server=utf8mb4collation-server=utf8mb4_unicode_ci