SqlAlchemy(1366,“错误的字符串值:'\\ xB4 \\ xEB \\ xC7 \\ xD1 \\ xB9 \\ xCE ...''第484行'VARIABLE_VALUE'”)

时间:2018-06-02 04:26:17

标签: mysql sqlalchemy

(1366,“错误的字符串值:'\ xB4 \ xEB \ xC7 \ xD1 \ xB9 \ xCE ...''第484行的'VARIABLE_VALUE'列'”

每当我尝试插入一行时(对于anytable)都会发生此错误但是我没有任何包含'VARIABLE_VAULE'列的表。

SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('VARIABLE_VALUE')
    AND TABLE_SCHEMA='sw';  /* nothing comes up */

如何找到导致警告的表格?

2 个答案:

答案 0 :(得分:0)

发生错误是因为您试图使用错误的字符集存储表情符号。将字符集从utf8更改为utf8mb4

答案 1 :(得分:0)

传统上,用于Unicode的编码为'utf8'。但是,对于向前的MySQL 5.5.3版,引入了新的MySQL特定编码'utf8mb4',从MySQL 8.0开始,如果在任何服务器端指令中指定了纯utf8,服务器将发出警告,并替换为utf8mb3。这种新编码的基本原理是由于MySQL的传统utf-8编码仅支持最多三个字节而不是四个字节的代码点。因此,当与包含大小超过三个字节的代码点的MySQL数据库进行通信时,如果数据库以及客户端DBAPI均支持此新字符集,则首选此新字符集,如:

e = create_engine(
    "mysql+pymysql://scott:tiger@localhost/test?charset=utf8mb4")
All modern DBAPIs should support the utf8mb4 charset.

enter link description here