我需要在mysql int字段中插入int或none(可以为null)。这是我的密码:
cur = db.cursor()
contents = [None, 3]
for element in contents:
print(element)
cur.execute('insert into test.new_test (blubb) values (%s)', element)
db.commit()
当我不使用none,而是使用另一个int时,这是有效的。我只是不明白,为什么没有一个不工作,我得到的错误
pymysql.err.programmingerror:(1064,“您的sql语法有错误;请查看与您的mysql服务器版本对应的手册,以获取在第1行“%s”附近使用的正确语法,
尽管我找到了所有的解决方案,说%s无法处理任何问题。。。
另外,是否有一种方法可以一次添加整个列表(为每个条目添加新行),而不使用for循环?
2条答案
按热度按时间gdx19jrr1#
在mysql中,它应该为null,因此您需要将其更改为:
编辑
要解决新的isue,可以将其更改为:
另一种方法是像这里解释的那样改变strict模式
js4nwp542#
请将“无”替换为空。传递到mysql服务器的命令应该如下所示:
其中blubb是表new\u test中的有效列,并且必须允许空值。
干杯,