我尝试使用PyMySQL插入一个字段(title
),该字段可以是NULL
或字符串。但它没有用。
query = """
INSERT INTO `chapter` (title, chapter, volume)
VALUES ("%s", "%s", %d)
"""
cur.execute(query % (None, "001", 1))
cur.execute(query % ("Title", "001", 1))
此代码将None
插入数据库。如果我删除第一个%s
周围的双引号,则会引发错误:
pymysql.err.InternalError: (1054, "Unknown column 'None' in 'field list'")
如何插入NULL?
答案 0 :(得分:21)
1)切勿对SQL使用字符串格式。
2)尝试以下方法:
query = """
INSERT INTO `chapter` (title, chapter, volume)
VALUES (%s, %s, %s)
"""
cur.execute(query, (None, "001", 1))
答案 1 :(得分:-4)
更改您的代码:
query = """INSERT INTO chapter(title, chapter, volume) VALUES (%s, %s, %s)"""
cur.execute(query, (None, "001", 1))
connection.commit()