首页 > 解决方案 > 为什么 execute() 附加空值而 executemany() 不附加?

问题描述

通过 python 使用 MySQL 时,在使用 execute() 函数时,空值会在特定表中更新,但在使用 executemany() 时,空值会返回错误。

工作命令:

mycursor = mydb.cursor()

mycursor.execute("INSERT INTO users (name, fav) VALUES('John', null)"

mydb.commit()

不起作用的代码:

mycursor = mydb.cursor()
sql = "INSERT INTO users (name, fav) VALUES(%s, %s)"

val =[
        ('Samantha', 154),
        ('Thalia', 155),
        ('Jacobs', null),
        ('Jamie', null)
]

mycursor.executemany(sql, val)

mydb.commit()

产生的错误如下:

Traceback(最近一次调用最后):文件“demo_python.py”,第 14 行,在('Jacobs',null),NameError:名称'null'未定义

标签: pythonmysql

解决方案


推荐阅读