('42000', '[42000] [Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в выражении INSERT INTO. (-3502) (SQLExecDirectW)') - PullRequest
0 голосов
/ 15 декабря 2018

Я пытался разобраться в этом коде для работы с моей базой данных, однако, независимо от того, что я пробовал, похоже, он не хочет вставлять.Другие вставки сработали, но мне не повезло с этим.

id = str(5)
price = str(300)
a = datetime.date.today()
day = (a.strftime('%d/%m/%Y'))
day = str(day)
cursor.execute("insert into StockDate(StockID, Date, StockPrice) values (?, ?, ?)", 
(id, day, price))
cnxn.commit()

Я получаю эту ошибку:

('42000', '[42000][Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в выражении INSERT INTO. (-3502) (SQLExecDirectW) ')

Мне кажется, что это может быть связано с датой, но я, честно говоря,понятия не имею.В моей базе данных дата отформатирована как день / месяц / год, если это вообще помогает.

1 Ответ

0 голосов
/ 15 декабря 2018

«Дата» - зарезервированное слово.Введите имя столбца Date в квадратных скобках (как в [Date]), чтобы указать, что вы используете его в качестве имени:

cursor.execute("insert into StockDate(StockID, [Date], StockPrice) values (?, ?, ?)", 
(id, day, price))
...