I was struggling with this problem until I noticed that there was no unique constraint on that column so I reset everything and commented out both the forward and backward db.create_unique and db.delete_unique statements and it seems to work nicely. No idea why the constraints weren't created to start with - perhaps it's because I'm using MyISAM tables? Or perhaps it's just because it's MySQL. ;)