Форум сайта python.su
0
Есть такой запрос:
self.cursor.execute('''INSERT INTO items (res_id, log_id, link, title, content, n_date, nd_date, s_date, not_date) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)''', ( res_id, log_id, str(resource_link), str(item_title), str(item_content), str(n_date), nd_date, s_date, not_date ) )
INSERT INTO MyTable ( Column1, Column2, Column3 ) VALUES ('John', 123, 'Lloyds Office'), ('Jane', 124, 'Lloyds Office'), ('Billy', 125, 'London Office'), ('Miranda', 126, 'Bristol Office');
Офлайн
22
вместо execute используй executemany. Значения во втором параметре нужно объединить в список кортежей.
https://habr.com/ru/post/321510/
Офлайн
0
StriverТо есть вы имеете в виду.Что значение VALUES нужно поместить массив ? А потом с массива в кортеж ?
Значения во втором параметре нужно объединить в список кортежей/
Офлайн
22
То есть вы имеете в виду.Что значение VALUES нужно поместить массив ? А потом с массива в кортеж ?Берём твой пример:
INSERT INTO MyTable ( Column1, Column2, Column3 )
data = [('John', 123, 'Lloyds Office'), ('Jane', 124, 'Lloyds Office'), ('Billy', 125, 'London Office'), ('Miranda', 126, 'Bristol Office')] SQL = "INSERT INTO MyTable VALUES (%s, %s, %s)" cursor.executemany(SQL, data) cursor.connection.commit()
Отредактировано Striver (Окт. 4, 2019 15:07:38)
Офлайн