proyectos - ¿Cómo uso las declaraciones preparadas para insertar registros MÚLTIPLES en SQlite utilizando Python/Django?
django tutorial (3)
Puede usar executemany () y pasar un objeto iterador, por ejemplo, para insertar 100 enteros y sus cuadrados:
def my_iter(x):
for i in range(x):
yield i, i*i
cursor.executemany("INSERT INTO my_table VALUES (?, ?)", my_iter(100))
¿Cómo uso una declaración preparada para insertar registros MÚLTIPLES en SQlite utilizando Python / Django?
Si está intentando insertar una sola fila como con un estado de preparación,
cursor.execute("""INSERT INTO table_name (''column1'', ''column2'') VALUES (?, ?)""", ("value1", "value2"))
Debería funcionar también. Los valores se pasan como tuplas de python.
http://docs.python.org/library/sqlite3.html#cursor-objects
Las bibliotecas SQLite de Python no tienen objetos de declaración preparados, pero le permiten usar consultas parametrizadas y proporcionar más de un conjunto de parámetros.
Edición: un ejemplo de executemany
según lo solicitado:
values_to_insert = [(1,"foo"), (2, "bar"), (3, "baz")]
cursor.executemany("""
INSERT INTO some_table (''item_num'', ''item_name'')
VALUES (?, ?)""", values_to_insert)