title: I can't get Python's executemany for sqlite3 to work properly
body: <p>I was trying to use executemany to insert values into a database, but it just won't work for me. Here is a sample:</p>
  
  <pre><code>clist = []
  clist.append("abc")
  clist.append("def")
  clist.append("ghi")
  cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
  </code></pre>
  
  <p>This gives me the following error:</p>
  
  <p><code>sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 3 supplied.</code></p>
  
  <p>However, when I change the list, it works fine:</p>
  
  <pre><code>clist = ["a", "b"]
  cursor.executemany("INSERT INTO myTable(data) values (?) ", clist)
  </code></pre>
  
  <p>It works as expected! I can see the data in the database. Why does the first list not work and second one does ?</p>
  
  <p>(PS: This is just a sample and not the actual code. I made a small test case for simplicity).</p>