Topic: enum turi ribą? [mysql 5.1.50 innoDB]
Išsiprendžiau tiesiog sukurdamas naują lentelę, perkeldamas duomenis. Matyt kažkas su indexais arba failo strukūra
Turiu tokią lentelę:
CREATE TABLE `buildings` (
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(64) NOT NULL,
`point` smallint(5) unsigned NOT NULL DEFAULT '0',
`cost` int(10) unsigned NOT NULL DEFAULT '0',
`size` tinyint(1) unsigned NOT NULL DEFAULT '1',
`guest` smallint(4) unsigned NOT NULL DEFAULT '1',
`time` mediumint(8) unsigned NOT NULL DEFAULT '1',
`use` tinyint(1) NOT NULL DEFAULT '1',
`buildingTime` mediumint(8) unsigned NOT NULL DEFAULT '0',
->`type` enum('P','K','A','L','E') NOT NULL, <-----
`desc` mediumtext,
`ticket` tinyint(3) unsigned NOT NULL DEFAULT '0',
`kategorija` char(16) DEFAULT NULL,
`basePasitenkinimas` float(6,3) unsigned NOT NULL DEFAULT '50.000',
`max` smallint(2) unsigned NOT NULL DEFAULT '0',
`atsiperka` tinyint(3) unsigned NOT NULL DEFAULT '0',
`fizika` tinyint(2) unsigned NOT NULL DEFAULT '0',
`statybos` tinyint(2) unsigned NOT NULL DEFAULT '0',
`architektura` tinyint(2) unsigned NOT NULL DEFAULT '0',
`technika` tinyint(2) unsigned NOT NULL DEFAULT '0',
`nt` tinyint(2) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `type` (`type`),
KEY `kategorija` (`kategorija`)
) ENGINE=MyISAM AUTO_INCREMENT=60 DEFAULT CHARSET=utf8
ir bandant paupdeitinti lentelę:
UPDATE buildings SET `type` = 'E' WHERE id = 623
gaunu klaidą:
1265 Data truncated for column 'type' at row 1
Dokumentacijoje aiškiai parašyta, jog telpa iki 65535 skirtingų elementų, o tokia klaida sutampa su klaida, kuomet bandau įvesti neapibrėžtą enum'ą.
Kas per nesamonė?