Я недавно начал изучать Python и SQL, и я возился с этим в течение нескольких дней, и я застрял.Я пытаюсь вставить в мою таблицу базы данных Postgresql 10 000 сгенерированных строк, которые включают id, address, booleanStatement, integerStatement и addressDate.
Я создал addressGenerator, и он дает мне результаты в виде:
myAddresses = addressGenerator (10000, 0)
print(myAddresses)
Вывод: ['M3-44-44-00-00-00', False, 1],...,[M3-44-44-00-27-f5, False, 1]
Теперь, чтобы вставить его в базу данных, я написал следующий код:
conn.psycopg2.connect("user=abc password=abc dbname=abc host=localhost")
c = conn.cursor()
c.execute('INSERT INTO "my-table" (id, "my-address", integerStatement, booleanStatement, addressDate) Values (NULL, %%s, %%d, %%s, %%s)', myAddresses)
conn.commit()
Это дает мне ошибку: psycopg2.ProgrammingError: syntax error at or near "%"
Насколько я понимаю: id автоматически инкрементирован, поэтому местозаполнителем может быть NULL, my-address, booleanStatement - это строки (%% s), integerStatement - %% d, а addressDate - отметка времени, также %% s.Что я здесь не так делаю?