pyuser, я попробовал, так как Вы советовали. Кроме того хочу узнать, было ли это предположение или этот код у Вас работал и откуда Вы его взяли? Потому, что я не ничего не знаю о подобном спецификаторе
? и кроме того запятая в части выражения
(?)“”",( очень удивляет, потому что на ее месте обычно стоит оператор %
Я попробовал следующие варианты:
connection.cursor.execute("""INSERT INTO SOME_TABLE(NULLABLE) VALUES(?)""", (None,))
TypeError: not all arguments converted during string formattingconnection.cursor.execute("""INSERT INTO SOME_TABLE(NULLABLE) VALUES(?)"""% (None,))
TypeError: not all arguments converted during string formattingconnection.cursor.execute("""INSERT INTO SOME_TABLE(NULLABLE) VALUES(%s)"""% (None,))
_mysql_exceptions.OperationalError: (1054, “Unknown column ‘None’ in ‘field list’”)и
connection.cursor.execute("""INSERT INTO SOME_TABLE(NULLABLE) VALUES(%s)""", (None,))
Код прошел, но меня это не устраивает по следующим причинам:
connection.cursor.execute("""INSERT INTO SOME_TABLE(VARCHARABLE, NULLABLE) VALUES('%s', %s)""", ('TEST', None,))
_mysql_exceptions.ProgrammingError: (1064, “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TEST’', NULL)' at line 1”) (При этом видно, что значение NULL на месте)
Кроме того вместо значения None нужно вставлять еще и строку(к примеру varchar null)
а если написать
connection.cursor.execute("""INSERT INTO SOME_TABLE(NULLABLE) VALUES('%s')""", (None,))
получаю предупреждение
__main__:1: Warning: Out of range value for column ‘NULLABLE’ at row 1И несмотря на него в базу вставляется нулевое значение