我创建sqlalchemy
连接到 MySQL 数据库的引擎。我想指定charset
为create_engine
参数。
如果我这样使用create_engine
:
create_engine('mysql+mysqldb://pd:pd@localhost/pd?charset=utf8')
那么一切都很好。但是,当我这样使用它时:
create_engine('mysql+mysqldb://pd:pd@localhost/pd', charset='utf8')
然后我收到以下错误:
TypeError: Invalid argument(s) 'charset' sent to create_engine(), using
configuration MySQLDialect_mysqldb/QueuePool/Engine. Please check that
the keyword arguments are appropriate for this combination of components.
根据文档,这种用法应该是可能的:
URL 的字符串形式为 dialect+driver://user:password@host/dbname[?key=value..] ...
**kwargs 采用多种选项,这些选项被路由到相应的组件。参数可能特定于引擎、底层方言以及池。特定方言也接受该方言独有的关键字参数。在这里,我们描述了大多数 create_engine() 用法常用的参数。
为什么我不能charset
单独指定?