title: How to insert into sqlite table that contains only one column with auto-incremental primary key?
body: <p>I would like to have in sqlite a "counter" table that always give me a new unique ID. I have managed what I need in the following way. First, I create the following table:</p>
  
  <pre><code>cursor.execute('''create table second (id integer primary key autoincrement, age integer)''')
  </code></pre>
  
  <p>Then I perform the following sequence of commands:</p>
  
  <pre><code>cursor.execute('''insert into second (age) values (1)''')
  cursor.lastrowid
  </code></pre>
  
  <p>Each time when I execute the above two columns I get a new integer. It is exactly what I need. However, the above solution is not elegant since I use a column ("age") that I do not really need. The reason I used is following. I can create a table that contains only one column with the IDs:</p>
  
  <pre><code>cursor.execute('''create table first (id integer primary key autoincrement)''')
  </code></pre>
  
  <p>However, the problem is that I cannot manage to insert into this table. The following does not work:</p>
  
  <pre><code>cursor.execute('''insert into first () values ()''')
  </code></pre>
  
  <p>I get the following error message:</p>
  
  <pre><code>sqlite3.OperationalError: near ")": syntax error
  </code></pre>
  
  <p>Does anybody knows how to solve the described problem?</p>