Tuesday, November 3, 2009

8.5 Changing a Column's Default Value




I l@ve RuBoard










8.5 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.)










    I l@ve RuBoard



    No comments: