Я хочу проверить, что таблицы и представления базы данных, введенные пользователем, правильно настроены, прежде чем я начну выполнять над ним операции CRUD.
Я могу заставить это работать, если я жестко закодирую каждое из имен таблиц, но я хочу динамически собирать информацию обо всех таблицах и представлениях, чтобы быть более эффективными и знать, есть ли больше, чем я ожидаю.
import sqlite3
conn = sqlite3.connect("test.db")
tables = c.execute("""SELECT name
FROM sqlite_master
WHERE type='view'
OR type='table'
ORDER BY name;""").fetchall()
for t in tables:
c.execute("pragma table_info(?)",t).fetchall()
Вывод "таблиц" выглядит так:
[('table1',), ('table2',), ('v_view1',)]
Когда я запускаю код выше, он возвращает ошибку ниже.
sqlite3.OperationalError: near "?": syntax error
Что я делаю не так?