Pymysql вставить NULL или строку
Я попытался вставить поле (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?
2 ответов
1) Никогда не используйте форматирование строк для SQL.
2) попробуйте следующее:
query = """
INSERT INTO `chapter` (title, chapter, volume)
VALUES (%s, %s, %s)
"""
cur.execute(query, (None, "001", 1))
измените свой код следующим образом:
query = """INSERT INTO chapter(title, chapter, volume) VALUES (%s, %s, %s)"""
cur.execute(query, (None, "001", 1))
connection.commit()