Próbowałem wstawić pole (title
) z PyMySQL, które może być NULL
lub ciąg. Ale to nie działa.PyMySQL Insert NULL lub String
query = """
INSERT INTO `chapter` (title, chapter, volume)
VALUES ("%s", "%s", %d)
"""
cur.execute(query % (None, "001", 1))
cur.execute(query % ("Title", "001", 1))
Ten kod wstawia None
do bazy danych. Jeśli usunąć podwójny cudzysłów wokół pierwszej %s
, zgłasza błąd:
pymysql.err.InternalError: (1054, "Unknown column 'None' in 'field list'")
Co mogę zrobić, aby wstawić NULL?
niesamowite! Juz ok. Wielkie dzięki! – Cronos87
Co masz na myśli mówiąc "Nigdy nie używaj formatowania ciągów dla sql"? Jestem początkującym mysql, robiąc coś podobnego do OP. – ScheissSchiesser
@ScheissSchiesser, może to doprowadzić do iniekcji sql. Więc lepiej jest użyć wiązania parametrów jak w przykładowym kodzie powyżej – Retard