title: Insert values in SQLite one row at a time
body: <p>For every loop in the code below, the INSERT INTO inserts the assigned value to the correct column BUT in a new row:</p>
  
  <pre><code>import sqlite3
  
  conn = sqlite3.connect('testtable.sqlite3')
  cur = conn.cursor()
  cur.executescript(''' DROP TABLE IF EXISTS Tracks;
                        CREATE TABLE Tracks (id, singer, song)''')
  
  lst = ['id', 'singer', 'song']
  
  for i in range(len(lst)):
      print 'Enter a value for column', lst[i]
      insdata = raw_input('&gt;&gt;&gt; ')
      cur.execute('''INSERT INTO Tracks ({col}) VALUES (?)'''\
      .format(col=lst[i]), (insdata, ))
  conn.commit()
  conn.close()
  </code></pre>
  
  <p><strong>Question</strong>: How can I tell SQLite <em>not to</em> change row in each loop and populate the table one row at a time?</p>
  
  <p><strong>Notice</strong>: I don't want to explicitly refer to all columns names in my code (like, INSERT INTO Table (all columns)) because in my practice script I have the user to input their name and total number.</p>