【问题标题】:Pymysql- issue with adding mixed types of data into database recordPymysql-将混合类型的数据添加到数据库记录中的问题
【发布时间】:2020-10-02 05:46:34
【问题描述】:

我正在尝试编写一个使用 pymysql 将记录添加到数据库的函数。当我使用字符串时它可以工作,但是当我尝试混合字符串和整数时它不起作用。

def dodawanie_do_bazy(a,b,c,e):
    connection = pymysql.connect(host='localhost',
                                        user='root',
                                        password='',
                                        db='dbprojekt',
                                        charset='utf8mb4',
                                        cursorclass=pymysql.cursors.SSDictCursor);
    try:
        with connection.cursor() as cursor:
            sql="INSERT INTO `Czlonek` (`imie`,`nazwisko`,`wydzial`,`telefon`,`mail`) VALUES (%s,%s,%s,%d,%s)"; 
            cursor.execute(sql,(a,b,c,456798136,e));
        connection.commit()         
    finally:
        connection.close();

ERROR is TypeError: %d format: a number is required, not str

【问题讨论】:

标签: python sql pymysql


【解决方案1】:

作为错误

ERROR is TypeError: %d format: a number is required, not str

显然,它需要是%s 格式而不是%d。格式字符串并不是真正要使用的 Python 格式字符串%d。您必须始终对所有字段使用 %s

只需将其从 VALUES (%s,%s,%s,%d,%s) 更改为 VALUES (%s,%s,%s,%s,%s) 即可解决您的问题。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    相关资源
    最近更新 更多