Details
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 | +-------+---------------------------------------------------------------------------------------------+
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions