Странная работа оператора cur.executescript с заполнителемPython

Программы на Python
Anonymous
Странная работа оператора cur.executescript с заполнителем

Сообщение Anonymous »

Я пытаюсь использовать оператор cur.executescript с инструкцией INSERT с заполнителем

Код: Выделить всё

import sqlite3
conn = sqlite3.connect('SingleTableSql.sqlite')
cur = conn.cursor()
cur.execute('DROP TABLE IF EXISTS Track')
cur.execute('CREATE TABLE Track (title TEXT, plays INTEGER)')

cur.executescript("""
INSERT INTO Track (title, plays) VALUES (?, ?), ('Thunderstruck', 20);
INSERT INTO Track (title, plays) VALUES (?, ?), ('My Way', 15);
""")

conn.commit()
cur.execute('SELECT title, plays FROM Track')
for row in cur:
print(row)
cur.close()
Но результат работы очень странный.

Код: Выделить всё

(None, None)
('Thunderstruck', 20)
(None, None)
('My Way', 15)
Почему? Как исправить?
Ожидаемый результат

Код: Выделить всё

('Thunderstruck', 20)
('My Way', 15)
Python 3.12

Подробнее здесь: https://stackoverflow.com/questions/784 ... laceholder

Вернуться в «Python»