Changing a Columns Default Value
Changing a Column s Default Value
8.5.1 Problem
You want to leave a column definition alone except for the default value.
8.5.2 Solution
Use SET DEFAULT to specify the default value explicitly, or DROP DEFAULT to remove the current default and allow MySQL to assign the "default default."
8.5.3 Discussion
A column's default value is part of its definition, but can be modified separately from other aspects of the definition. To change a default value, use ALTER col_name SET DEFAULT:
ALTER TABLE mytbl ALTER j SET DEFAULT 1000;
Default values must be constants. For example, you cannot set the default for a date-valued column to NOW( ), although that would be very useful.
To drop a default value, use ALTER col_name DROP DEFAULT:
ALTER TABLE mytbl ALTER j DROP DEFAULT;
In this case, the column's default value reverts to the standard default for the column type. For columns that can contain NULL values, this will be NULL. Otherwise, the general defaults are 0, the empty string, or the "zero" date or time for numeric, string, or date or time columns, respectively. (The exceptions are for AUTO_INCREMENT, ENUM, and TIMESTAMP columns, for which the defaults are the next sequence number, the first enumeration member, and the current date and time.)