Python 3.12
I’m trying to use cur.executescript operator with INSERT statement with placeholder
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()
But result of work is very strange.
(None, None) ('Thunderstruck', 20) (None, None) ('My Way', 15)
Why? How to fix?
Expected result is
('Thunderstruck', 20) ('My Way', 15)