title: SQLite with Python "Table has X columns but Y were supplied"
body: <p>I have a python script that executes some simple SQL.</p>
  
  <pre><code>c.execute("CREATE TABLE IF NOT EXISTS simpletable (id integer PRIMARY KEY, post_body text, post_id text, comment_id text, url text);")
  command = "INSERT OR IGNORE INTO simpletable VALUES ('%s', '%s', '%s', '%s')" % (comments[-1].post_body, comments[-1].post_id, comments[-1].comment_id, 
  comments[-1].url)
  c.execute(command)
  c.commit()
  </code></pre>
  
  <p>But when I execute it, I get an error</p>
  
  <blockquote>
    <p>sqlite3.OperationalError: table simpletable has 5 columns but 4 values were supplied</p>
  </blockquote>
  
  <p>Why is it not automatically filling in the <code>id</code> key?</p>