title: Possible to implement a manual increment with just simple SQL INSERT?
body: <p>I have a primary key that I don't want to auto increment (for various reasons) and so I'm looking for a way to simply increment that field when I INSERT. By simply, I mean without stored procedures and without triggers, so just a series of SQL commands (preferably one command).</p>
  
  <p>Here is what I have tried thus far:</p>
  
  <pre><code>BEGIN TRAN
  
  INSERT INTO Table1(id, data_field)
  VALUES ( (SELECT (MAX(id) + 1) FROM Table1), '[blob of data]');
  
  COMMIT TRAN;
  
  * Data abstracted to use generic names and identifiers
  </code></pre>
  
  <p>However, when executed, the command errors, saying that </p>
  
  <blockquote>
    <p>"Subqueries are not allowed in this
    context. only scalar expressions are
    allowed"</p>
  </blockquote>
  
  <p>So, how can I do this/what am I doing wrong?</p>
  
  <hr>
  
  <p>EDIT: Since it was pointed out as a consideration, the table to be inserted into is guaranteed to have at least 1 row already.</p>