pymysql-向数据库记录中添加混合类型数据的问题

p4tfgftt  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(354)

我正在尝试编写一个函数,使用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();

错误是typeerror:%d格式:需要数字,而不是str

n6lpvg4x

n6lpvg4x1#

作为错误
错误是typeerror:%d格式:需要数字,而不是str
显然,它需要 %s 格式化而不是 %d . 格式字符串并不是真正要使用的python格式字符串 %d . 你必须始终使用 %s 对于所有字段
只是从 VALUES (%s,%s,%s,%d,%s)VALUES (%s,%s,%s,%s,%s) 会解决你的问题。

相关问题