1267, “Illegal mix of collations (latin1_swedish_ci,IMPLICIT

部署运行你感兴趣的模型镜像

python 执行数据迁移报错
mysql :
1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT

在这里插入图片描述
解决方法:
替换TABLE 后面的表名为你自己的表名,mysql 黑窗口执行。

以下是我的表名,仅作参考
ALTER TABLE book CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_big_category CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_category CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_category_relation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_chapter_content CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_chapters CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_shelf CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE book_volume CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE browse_history CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE read_rate CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE search_key_word CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

`qsqlerror (1267, qmysql: unable to execute query, illegal mix of collations (latin1_swedish_ci, Implicit) and (utf8mb4))` 错误通常是由于数据库中不同列或表使用了不同的字符集和排序规则,导致在进行比较或操作时出现冲突。以下是一些解决此问题的方法: #### 1. 修改表的字符集和排序规则 可以使用以下 SQL 语句修改表的字符集和排序规则为 `utf8mb4`: ```sql ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 这里的 `your_table_name` 是需要修改的表名。 #### 2. 修改列的字符集和排序规则 如果只是特定列存在问题,可以只修改该列的字符集和排序规则: ```sql ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 其中 `your_table_name` 是表名,`your_column_name` 是列名,`VARCHAR(255)` 需根据实际列的数据类型进行调整。 #### 3. 在连接数据库时指定字符集 在使用 `QSqlDatabase` 连接数据库时,可以指定字符集为 `utf8mb4`: ```cpp #include <QSqlDatabase> #include <QSqlError> #include <QDebug> int main() { QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("your_host"); db.setDatabaseName("your_database"); db.setUserName("your_username"); db.setPassword("your_password"); db.setConnectOptions("MYSQL_OPT_CHARSET_NAME=utf8mb4"); if (!db.open()) { qDebug() << "Database error:" << db.lastError().text(); return 1; } // 执行数据库操作 db.close(); return 0; } ``` 这里需要将 `your_host`、`your_database`、`your_username` 和 `your_password` 替换为实际的数据库连接信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值