首页 > 解决方案 > python mysql中如何自动插入id?

问题描述

我想将数据插入到我的数据库中,但是 id 如何在 python 中自动递增?

在 PHP 中,我们只能通过使用 DEFAULT 来做到这一点,比如这个查询和插入的数据:

mysqli_query($connection, "INSERT INTO setting VALUE(DEFAULT,'$name','$address')");

我如何在 Python MYSQL 中做到这一点?

def insertSetting(name,address):
    try:
        connection = mysql.connector.connect(host='localhost', database='myDB', user='root', password='')
        cursor = connection.cursor()
        query = """INSERT INTO setting (id_setting, name, address) VALUES (DEFAULT, %s, %s) """
        records =(name,address)
        cursor.executemany(query,records)
        connection.commit()
        print("Inserted successfully")

    except mysql.connector.Error as error:
        print("Failed to insert into MySQL table {}".format(error))

    finally:
        if (connection.is_connected()):
            cursor.close()
            connection.close()
            print("MySQL connection is closed")

insertSetting(name,address)

我得到错误:

插入 MySQL 表失败 处理格式参数失败;'int' 对象不可迭代

我期待结果:数据库中的 id 自动递增

标签: pythonmysql

解决方案


id_settings在插入期间删除您的列,因为它的auto increment.

 query = """INSERT INTO setting (name, address) VALUES (%s, %s) """

推荐阅读