14

我试图title用 PyMySQL 插入一个字段 (),它可以是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到数据库中。如果我删除 first 周围的双引号%s,则会引发错误:

pymysql.err.InternalError: (1054, "Unknown column 'None' in 'field list'")

我该怎么做才能插入 NULL?

4

1 回答 1

37

1) 永远不要对 SQL 使用字符串格式。

2)尝试以下操作:

query = """
INSERT INTO `chapter` (title, chapter, volume)
VALUES (%s, %s, %s)
"""
cur.execute(query, (None, "001", 1))
于 2015-02-24T14:48:28.333 回答