Python SQL Дата вставки номера - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь вставить дату в столбце orderDate в моей базе данных sql, которая имеет дату типа

date = (start_date.strftime("%Y-%m-%d"))

testData.cur.execute("INSERT INTO customerOrders (orderDate) VALUES %s", (date,))
testData.cn.commit()

Вот значение переменной 'data':

2019-01-01

Вот тип данных даты:

class 'str'

Я подвержен ошибке:

mysql .connector.errors.ProgrammingError: 1064 (42000): у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с '' 2019-01-01 '' в строке 1

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Рассмотрите возможность параметризации точной переменной времени и даты и избегайте форматирования строки. Кроме того, в предложении SQL, VALUES требуется заключить в круглые скобки цифры или литералы:

testData.cur.execute("INSERT INTO customerOrders (orderDate) VALUES (%s)", 
                     (start_date,))
testData.cn.commit()
0 голосов
/ 21 января 2020

Добавить простые кавычки в% s. MySQL необходимо знать, что '2019-01-01' является типом ввода даты.

INSERT INTO customerOrders (orderDate) VALUES '%s'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...