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はデータベースに挿入されます。最初の を囲む二重引用符を削除する%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 に答える