Bug #34920 | auto_increment resets to 1 on foreign key creation | ||
---|---|---|---|
Submitted: | 28 Feb 2008 11:09 | Modified: | 19 Jun 2010 17:46 |
Reporter: | David Carr | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | 5.1.23-rc, 5.0.56 | OS: | Windows |
Assigned to: | CPU Architecture: | Any | |
Tags: | likely), regression (vs. 5.1.18 |
[28 Feb 2008 11:09]
David Carr
[28 Feb 2008 13:35]
Valeriy Kravchuk
Thank you for a bug report. Verified just as described. Test case is: CREATE TABLE `foo` ( `id` int(10) unsigned NOT NULL auto_increment, `title` varchar(128) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=100; CREATE TABLE `bar` ( `id` int(10) unsigned NOT NULL auto_increment, `foo_id` int(10) unsigned default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=200; select auto_increment from information_schema.tables where table_name='bar'; ALTER TABLE `bar` ADD CONSTRAINT `foo_bar_1` FOREIGN KEY (`foo_id`) REFERENCES `foo`(`id`); select auto_increment from information_schema.tables where table_name='bar';
[28 Feb 2008 17:35]
Heikki Tuuri
Sunny, please look at this. Can we remember the AUTO-INC counter of the original table, and let the rebuilt table inherit it? Regards, Heikki
[1 Mar 2008 23:57]
Sunny Bains
The change looks trivial. The problem: When we create a table within InnoDB currently we only check the flag for whether an auto_increment value was supplied during a CREATE TABLE statement. The solution: We need to check for ALTER TABLE too because MySQL does pass the current auto_increment value to be used in create_info to ha_innobase::create(). This should be fixable in all versions > 5.0
[1 Mar 2008 23:59]
Sunny Bains
The previous comment should read fixable in all version >= 5.0.
[12 Mar 2008 7:39]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/43805 ChangeSet@1.2555, 2008-03-12 01:39:13-06:00, tsmith@ramayana.hindu.god +12 -0 Apply InnoDB snapshot innodb-5.1-ss2360. Fixes: - Bug #34920: auto_increment resets to 1 on foreign key creation We need to use/inherit the passed in autoinc counter for ALTER TABLE statements too.
[27 Mar 2008 1:41]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/44490 ChangeSet@1.2569, 2008-03-27 02:40:45+01:00, tsmith@rhel5-ia64-a.mysql.com +10 -0 Apply innodb-5.1-ss2360 snapshot Fixes: - Bug #34920: auto_increment resets to 1 on foreign key creation We need to use/inherit the passed in autoinc counter for ALTER TABLE statements too.
[27 Mar 2008 22:04]
Bugs System
Pushed into 5.1.24-rc
[28 Mar 2008 11:10]
Bugs System
Pushed into 6.0.5-alpha
[11 Apr 2008 16:00]
Jon Stephens
Documented in the 5.1.24 and 6.0.5 changelogs as follows: Creating a foreign key on an InnoDB table that was created with an explicit AUTO_INCREMENT value caused that value to be reset to 1.
[5 May 2010 15:03]
Bugs System
Pushed into 5.1.47 (revid:joro@sun.com-20100505145753-ivlt4hclbrjy8eye) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[6 May 2010 14:07]
Paul DuBois
Push resulted from incorporation of InnoDB tree. No changes pertinent to this bug. Re-closing.
[28 May 2010 6:06]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100524190136-egaq7e8zgkwb9aqi) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (pib:16)
[28 May 2010 6:34]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100524190941-nuudpx60if25wsvx) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[28 May 2010 7:02]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100524185725-c8k5q7v60i5nix3t) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[29 May 2010 22:34]
Paul DuBois
Push resulted from incorporation of InnoDB tree. No changes pertinent to this bug. Re-closing.
[17 Jun 2010 12:10]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 12:58]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:38]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)