You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.7使用mysqlclient连接数据库出现类型错误求助

解决mysqlclient连接MySQL时的TypeError问题

嗨,我立刻就发现问题啦——你在调用MySQLdb.connect()的时候,把端口参数写成了port='3306',也就是字符串类型,但mysqlclient的连接方法要求port必须是整数类型!

问题原因

虽然mysql.connector对参数类型比较宽松,能自动兼容字符串格式的端口号,但mysqlclient的底层实现对参数类型的校验更严格,这就是为什么你之前用connector一切正常,换成mysqlclient就抛出这个类型错误了。

修复后的代码

只需要把端口号的引号去掉,改成整数格式即可,另外别忘了执行插入后提交事务(不然数据不会真正写入数据库):

import MySQLdb
import mysql.connector

# 将port='3306'改为port=3306
db = MySQLdb.connect(host='localhost', port=3306, database='py_test', user='arnav', password='1234')
db_cur = db.cursor()
db_cur.execute('insert into pass values ( \'arnav\', \'0000\' )')
# 提交事务,确保插入操作生效
db.commit()
# 最后记得关闭连接(可选但推荐)
db.close()

额外提示

如果你之后遇到类似mysqlclient的参数错误,优先检查参数类型是否符合要求——它和mysql.connector在参数处理上确实存在一些细节差异哦。

内容的提问来源于stack exchange,提问作者Arnav Mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:16:41