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