title: MySQL - INSERT INTO xxx SELECT with AUTO_INCREMENT column
body: <p>I have an old_table and a new_table:</p>
  
  <pre>
  CREATE TABLE `old_table` (
          `id` bigint(20) NOT NULL AUTO_INCREMENT,
          `col1` varchar(15) DEFAULT NULL,
          `col2` int(15) DEFAULT NULL,
          ...,
          PREMARY_KEY (`id`)
  );
  
  CREATE TABLE `new_table` LIKE `old_table`;
  </pre>
  
  <p>Then both tables are populated with some values.  After that, I want to select some rows from old_table and insert into new_table:</p>
  
  <pre>
  INSERT INTO `old_table` SELECT * FROM `new_table` WHERE col2 > 100;
  </pre>
  
  <p>But this will cause errors due to duplicate key.  I'm too lazy to specify the columns in the SELECT clause, because in the real system the tables have a lot of columns.</p>
  
  <p>What would be the best way to get around the problem?</p>