Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

1 (edited by neworld 2011-02-25 14:33:01)

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ė?

Re: enum turi ribą? [mysql 5.1.50 innoDB]

O tikrai nedasideda koks tarpas ar pan?

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: enum turi ribą? [mysql 5.1.50 innoDB]

Absoliučiai nieko nekeičiau. Naujoje lentelėje viskas veikia :)