【发布时间】:2020-10-30 22:26:31
【问题描述】:
我已经使用 SQLAlchemy 在 python 中开发了一个应用程序。我的 MySQL 测试数据库是 8.0 版本,我的产品数据库是 5.7。我做了数据库之间的迁移,没有错误。但是当我连接到产品数据库时,我得到错误“1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'”。
但是,我的结构不包含“utf8mb4_0900_ai_ci”。只有“utf8mb4_general_ci”。 我指定此错误仅在我连接到产品数据库时发生。
连接数据库:
engine = create_engine('mysql+mysqlconnector://user:***********@**********:3306/amatdb?charset=utf8mb4')
SQL 示例
DROP TABLE IF EXISTS `alembic_version`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `alembic_version` (
`version_num` varchar(32) NOT NULL,
PRIMARY KEY (`version_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
提前感谢您的帮助
【问题讨论】:
-
已修复:只需添加 "&collation=utf8mb4_general_ci'" engine = create_engine('mysql+mysqlconnector://user:***********@******* ***:3306/amatdb?charset=utf8mb4&collation=utf8mb4_general_ci')
标签: python mysql sqlalchemy