MySQL 运算符
MySQL 函数 

MySQL 默认值

在 MySQL 中,可以为表的列指定默认值,这些默认值在插入新行时自动应用。如果插入语句没有为列指定值,MySQL 将使用默认值。

在创建表时指定默认值

在创建表时,可以在列的定义中指定默认值。例如:

CREATE TABLE students (
    student_id INT PRIMARY KEY,
    student_name VARCHAR(50),
    email VARCHAR(50) DEFAULT NULL,
    add_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    age INT DEFAULT 0
);

在这个示例中:

  • email 列的默认值设置为NULL。

  • add_time 列的默认值为当前时间戳。

  • age 列的默认值设置为 0。


修改现有表的列添加默认值

可以使用 ALTER TABLE 语句来修改现有表的列并添加默认值。

ALTER TABLE students
ALTER COLUMN age SET DEFAULT 18;

这将为 age 列设置默认值为 18。


插入新行时使用默认值

当执行 INSERT 语句时,如果没有为列提供值,则会使用列的默认值。例如:

INSERT INTO students(student_id, student_name)  VALUES  (1, 'Jerry');

在这个例子中,student_id 和 student_name 列将使用它们的默认值插入新的学生记录。


注意事项

  • 默认值可以是常量值,也可以是表达式(例如 CURRENT_TIMESTAMP)。

  • 如果列定义了默认值且允许 NULL 值,那么当插入新行时,如果未指定值或指定为 NULL,则会使用默认值。

  • 若要删除现有列的默认值,可以使用 ALTER TABLE 语句并将默认值设为 NULL 或具体的其他值。