Форум сайта python.su
Python изучаю не так давно, в основном на С пишу, Sqlite и того меньше.
Есть база данных Sqlite и скрипт на Python3, который этой базой управляет. В скрипте есть функция, которая создает новую таблицу в базе по шаблону, в качестве аргументов принимает имя базы и имя новой таблицы:
def create_new_table_in_db(db, table):
conn = sqlite3.connect(db)
cur = conn.cursor()
cur.execute('''DROP TABLE IF EXISTS ?''', (table,))
...
cur.execute("DROP TABLE IF EXISTS ?", (table,))
sqlite3.OperationalError: near "?": syntax error
cur.execute("DROP TABLE IF EXISTS test_table")
data = [("Ivanov", "ASM", ".pdf", "None"),\
("Petrov", "C++", ".pdf", "None"),\
("Sidorov", "Python", ".djvu", "None")]
cur.executemany("""INSERT INTO test_table values(?, ?, ?, ?)""", data)
# Never do this -- insecure!
symbol = 'IBM'
c.execute("... where symbol = '%s'" % symbol)
s = "test_table"
cur.execute("DROP TABLE IF EXISTS %s" % s)
Офлайн
hippi90Этого синтаксис не позволяет. Параметры могут быть только там, где по синтаксису должен быть expression.
в качестве аргументов принимает имя базы и имя новой таблицы
Офлайн