title: Django AutoField default value error
body: <p><strong>Django 1.7.1, MySQL 5.6, Python 2.7.8</strong></p>
  
  <p>I had a model that looked like this:</p>
  
  <pre><code>class Host(models.Model):
      hostName = models.CharField(max_length=45, primary_key=True)
      ...
  </code></pre>
  
  <p>I removed <code>primary_key=True</code> manually, which caused <code>manage.py sqlmigrate</code> to show that the primary key was being dropped, an autoincrementing <code>'id'</code> column was being added, and it was getting the primary key. I was prompted for a default value for the new <code>'id'</code> column, and mistakenly gave it 1, which was already in the table. The relevant SQL read:</p>
  
  <pre><code>ALTER TABLE `Host` ADD COLUMN `id` integer AUTO_INCREMENT DEFAULT 1 NOT NULL PRIMARY KEY;
  </code></pre>
  
  <p>and the migration code included:</p>
  
  <pre><code>    operations = [
      migrations.AddField(
          model_name='host',
          name='id',
          field=models.AutoField(auto_created=True, primary_key=True, default=1, serialize=False, verbose_name='ID'),
          preserve_default=False,
      ),
  </code></pre>
  
  <p>The result was that I can still modify my models and <code>makemigrations</code> works, but each <code>migrate</code> command gives this error:</p>
  
  <pre><code>django.db.utils.OperationalError: (1067, "Invalid default value for 'id'")
  </code></pre>
  
  <p>and does not take effect.</p>
  
  <p>I've tried reverting the primary key change, manually pointing the immediately subsequent migration at the immediately previous migration (which raised consistency problems), and migrating explicitly to the immediately previous migration. <strong>What I would really like to do is simply erase/ignore the problem migration.</strong> I would also be satisfied with suppressing the error since I have since reverted the change. How can I do either of these?</p>
  
  <p><strong>Edit:</strong>
  Also, if an autoincrement column can never have a default value why does Django allow itself to pass the SQL with <code>...AUTO_INCREMENT DEFAULT 1...</code>?</p>