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

Python使用mysql.connector建表报TypeError参数错误如何解决

报错原因

  • mysql.connector.connect() 方法仅支持关键字参数传入连接配置,不支持按位置顺序传参,你直接按位置传入5个配置参数,加上方法默认的self实例参数,总共6个参数,才触发了类型错误。
  • 额外隐藏问题:你定义的port参数为字符串类型'3306',mysql连接要求port必须传入整数类型。

修正后可运行代码

import mysql.connector

def add_tb():
    host = 'localhost'
    port = 3306  # 修正为整数类型
    user = 'root'
    password = ''
    database = input('请输入要创建表的数据库名称: ')
    
    # 所有参数显式指定参数名传入
    mydb = mysql.connector.connect(
        host=host,
        port=port,
        user=user,
        password=password,
        database=database
    )
    mycursor = mydb.cursor()

    tablename = input('请输入要创建的表名: ')
    # 增加表名校验,避免非法表名导致SQL执行错误或注入风险
    if not tablename.replace('_', '').isalnum():
        print('表名仅允许包含字母、数字和下划线')
        return
    mycursor.execute(f'create table {tablename} (name varchar (200), kelas int (4))') 

    # 提交更改并释放资源
    mydb.commit()
    mycursor.close()
    mydb.close()
    print(f'表 {tablename} 创建成功')

add_tb()

补充注意事项

  • 对用户输入的库名、表名建议加合法性校验,避免执行恶意SQL语句
  • 数据库操作完成后要显式提交更改、关闭游标和连接,避免资源泄漏

内容的提问来源于stack exchange,提问作者golead rich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:15:03