Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.5(EOL), 10.0(EOL), 10.1(EOL)
-
None
Description
DROP TABLE IF EXISTS t1;
|
CREATE TABLE t1 (a DECIMAL(2,1) DEFAULT 10000.1);
|
correctly returns:
+---------+------+--------------------------------------------+
|
| Level | Code | Message |
|
+---------+------+--------------------------------------------+
|
| Warning | 1264 | Out of range value for column 'a' at row 1 |
|
| Error | 1067 | Invalid default value for 'a' |
|
+---------+------+--------------------------------------------+
|
A similar script with a quoted default value:
DROP TABLE IF EXISTS t1;
|
CREATE TABLE t1 (a DECIMAL(2,1) DEFAULT '10000.1');
|
Does not produce an error.
The default value is adjusted to the data type range:
SHOW CREATE TABLE t1; +-------+---------------------------------------------------------------------------------------------+
|
| Table | Create Table |
|
+-------+---------------------------------------------------------------------------------------------+
|
| t1 | CREATE TABLE `t1` (
|
`a` decimal(2,1) DEFAULT '9.9'
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
|
+-------+---------------------------------------------------------------------------------------------+
|