вставка тысяч строк одновременно в базу данных в Postgresql - PullRequest
0 голосов
/ 11 июня 2018

Я недавно начал изучать 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.Что я здесь не так делаю?

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