PyMySQL插入NULL或String

时间:2015-02-24 14:43:53

标签: python mysql pymysql

我尝试使用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?

2 个答案:

答案 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()