| Bug #14529 | 4.1 to 5.0, TINYINT(1) Column data lost | ||
|---|---|---|---|
| Submitted: | 31 Oct 2005 23:16 | Modified: | 5 Dec 2005 16:42 |
| Reporter: | Jason Schwab | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Migration Toolkit | Severity: | S3 (Non-critical) |
| Version: | 1.0.20 rc | OS: | Windows (Windows XP Pro) |
| Assigned to: | CPU Architecture: | Any | |
[21 Nov 2005 18:11]
Jorge del Conde
Thanks for your bug report. I was able to reproduce this problem with 1.0.20
[5 Dec 2005 16:42]
Michael G. Zinner
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.
If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information
about accessing the source trees is available at
http://www.mysql.com/doc/en/Installing_source_tree.html

Description: When using the migration toolkit to migrate from 4.1 to 5.0, any data in a TINYINT(1) column seems to become lost. The generated inserts do not contain any data for the column, only a zero length string (""). The migration toolkit reports these errors in the final report: `lep`.`lep_lbs_interfaces` -------------------------- Incorrect integer value: '' for column 'active' at row 1 4 row(s) transfered. Column 'active' is a TINYINT(1) column. How to repeat: Create a test table: DROP TABLE IF EXISTS `test`.`testtable`; CREATE TABLE `testtable` ( `uid` int(10) unsigned NOT NULL auto_increment, `testtinyint` tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Populate with random data, then when the migration toolkit runs and I have it generate code instead of doing it live, the inserts look like: INSERT INTO `test`.`testtable`(`uid`, `testtinyint`) VALUES (1, ""), (2, ""), (3, ""); Using mysqldump seems to generate the correct code.