Как я могу вставить данные NULL в базу данных MySQL с помощью Python?

Я получаю странную ошибку при вставке некоторых данных из сценария Python в MySQL. Это в основном связано с пустой переменной, которую я вставляю. Я полагаю, что MySQL не любит пустые переменные, но есть ли что-то еще, что я могу изменить, чтобы он работал с моей инструкцией insert?

Я могу успешно использовать оператор IF чтобы превратить его в 0, если его пустое значение, но это может испортить часть аналитики данных, которую я планирую сделать в MySQL позже. Есть ли способ конвертировать его в NULL или что-то такое, что MySQL принимает его, но ничего не добавляет?

3 Solutions collect form web for “Как я могу вставить данные NULL в базу данных MySQL с помощью Python?”

Сделайте быструю проверку пустым, и если это так, установите его равным NULL:

 if(!variable_to_insert) variable_to_insert = "NULL" 

… затем убедитесь, что вставленная переменная не находится в кавычках для инструкции insert, например:

 insert = "INSERT INTO table (var) VALUES (%s)" % (variable_to_insert) ... 

не как:

 insert = "INSERT INTO table (var) VALUES ('%s')" % (variable_to_insert) ... 

При использовании mysqldb и cursor.execute() передайте значение None, а не «NULL»:

 value = None cursor.execute("INSERT INTO table (`column1`) VALUES (%s)", (value,)) 

Найден ответ здесь

Почему бы не установить переменную равную некоторой строке, например 'no price' а затем отфильтровать ее позже, когда вы хотите сделать математику по номерам?

 filter(lambda x: x != 'no price',list_of_data_from_database) 
  • MySQL OperationalError при запуске сервера Flask (Apache) в течение нескольких дней
  • Вставьте список Python (JSON или иначе) в базу данных MySQL
  • Как запросить несколько подобных баз данных с помощью Peewee?
  • Как установить и управлять подключениями к базе данных в многомодульном приложении Python?
  • MySQLdb через прокси-сервер
  • Как работает / исполняется статут RENAME TABLE в MySQL?
  • Репликация GROUP_CONCAT для pandas.DataFrame
  • Использование .aggregate () для значения, введенного с использованием .extra (select = {...}) в Django Query?
  • mysql.connector.errors.ProgrammingError: Failed processing format-parameters, Python 'list' не может быть преобразован в тип MySQL
  • MySQL INSERT ... ON DUPLICATE KEY UPDATE с django 1.4 для объемной вставки
  • Mac OS X - EnvironmentError: mysql_config не найден
  • Python - лучший язык программирования в мире.