I have this table on my MYSQL 4.0.16 : CREATE TABLE `pls_in_row` ( `row_id` int(11) NOT NULL auto_increment, `pls_id` int(11) default NULL, `code` int(20) default NULL, `description` varchar(255) default NULL, `valid_from` date default NULL, PRIMARY KEY (`row_id`), UNIQUE KEY `pls_row` (`code`,`pls_id`,`valid_from`) ) TYPE=MyISAM
when I push data into the table with a "INSERT IGNORE" statement, everything works fine as long as 'code' is not longer than 9 digits. When I try to insert records with 'code' longer than 9 digits, mysql does not distinguish anymore in the index... so for example if I perform the following, the second statement does not insert anything as the row was duplicate, but actually is not: INSERT IGNORE INTO pls_in_row SET pls_id = 17, code = 372622701, valid_from = '2004-01-01'; > affeted rows: 1; INSERT IGNORE INTO pls_in_row SET pls_id = 17, code = 3726227013, valid_from = '2004-01-01'; > affected rows: 0; leaving out the 'IGNORE' I get this... > ERROR 1062: Duplicate entry '2147483647-17-2004-02-01' for key 2 so that seems that mysql has created a completely wrong key for this row! my question is: is there a limit for the integer part of the index, or a bug any suggestion would be very much appreciated. cheers alessandro -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php