title: What MySQL commands can use column order instead of names
body: <p>I have and old MySQL database where I need to insert new columns into tables (to support new parts of the front-end). But some of the old parts use SQL commands that depend on column count and order instead of their names. e.g.:</p>
  <pre><code>INSERT INTO `data` VALUES (null /*auto-id*/, &quot;name&quot;, &quot;description&quot;, ...)
  </code></pre>
  <p>When I add new columns into this table, I get <a href="https://stackoverflow.com/q/16293681/2011448">the error</a>:</p>
  <blockquote>
  <h1>1136 - Column count doesn't match value count at row 1</h1>
  </blockquote>
  <p>Right now I know about the INSERT which needs to be changed to:</p>
  <pre><code>INSERT INTO `data` (`name`, `desc`, ...) VALUES (&quot;name&quot;, &quot;description&quot;, ...)
  </code></pre>
  <p><strong>The question is: are there any other commands that can use similar syntax that rely on an order or count of the columns instead of their names?</strong> I need to update all the old SQL commands before updating the DB and using <a href="https://en.wikipedia.org/wiki/Trial_and_error" rel="nofollow noreferrer">trial &amp; error</a> method would be really long.</p>
  <p><em>SELECTs are not a problem, because the front-end uses associative mapping and correctly uses their names everywhere so new columns will be just ignored. Also I'm sure there are no commands that modifying the DB structure (e.g. ALTER TABLE).</em></p>