MySQL create table以错误的列类型结束

时间:2011-11-10 22:15:40

标签: mysql type-conversion create-table

MySQL似乎是在我身上自动转换列类型,但我无法弄清楚原因。

我在CREATE TABLE语句中尝试了几种列定义的变体:

`EarnedPoints` FLOAT NULL
`EarnedPoints` FLOAT(3,1) NULL
`EarnedPoints` DECIMAL(15,1) NULL

但是在创建表格时,列类型始终为DECIMAL(15,0)。任何人都有关于导致这种情况的原因的理论?服务器版本为5.0.51a。

完整的CREATE TABLE是:

CREATE TABLE IF NOT EXISTS EvaluationAnswers (
  `frxEvaluationIndex` INT(10) NOT NULL,
  `frxTabIndex` INT(10) NOT NULL,
  `frxQuestionIndex` INT(10) NOT NULL,
  `frxQuestionRevision` INT(10) NOT NULL,
  `Answer` VARCHAR(255) NULL COMMENT 'from fldAnswer',
  `EarnedPoints` FLOAT NULL COMMENT 'from fldEarnedPoints',
  `NormalizedScore` DOUBLE(15,0) NULL COMMENT 'from fldNormalizedScore',
  `PossiblePoints` FLOAT NULL COMMENT 'from fldPossiblePoints',
  `Comment` TEXT NULL COMMENT 'from fldComment',
  INDEX `_WA_Sys_frxQuestionIndex_77BFCB91` (`frxQuestionIndex`),
  INDEX `_WA_Sys_frxQuestionRevision_77BFCB91` (`frxQuestionRevision`),
  INDEX `_WA_Sys_frxTabIndex_77BFCB91` (`frxTabIndex`),
  PRIMARY KEY `PK_tblEvaluationAnswers` (`frxEvaluationIndex`, `frxTabIndex`, `frxQuestionIndex`, `frxQuestionRevision`)
) ENGINE INNODB

0 个答案:

没有答案