mysql字段默认值如何设置

38次阅读

mysql 中,通过 default 关键字为字段设置默认值,插入记录时若未指定该字段值则自动填充。创建表时可在 CREATE table语句中直接定义,默认值支持数字、字符串 、布尔和时间类型,如 status TINYint DEFAULT 1 和 created_at dateTIME DEFAULT CURRENT_timestamp;对于已存在的表,使用 ALTER TABLE ALTER column 字段名 SET DEFAULT 值来修改默认值,删除默认值则用 DROP DEFAULT;注意 TEXT 和 BLOB 类型不支持默认值,允许NULL 的字段插入 NULL 时不会应用默认值,CURRENT_TIMESTAMP 仅适用于日期时间类型,合理使用默认值可减少数据插入冗余并提升一致性。

mysql 字段默认值如何设置

在 MySQL 中,字段的默认值通过 DEFAULT 关键字来设置。默认值会在插入新记录时,如果未指定该字段的值,自动赋予设定的值。

创建表时设置默认值

在使用 CREATE TABLE 语句建表时,可以直接为字段指定 DEFAULT 值。

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(50) NOT NULL,
  status TINYINT DEFAULT 1,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

说明:

  • status TINYINT DEFAULT 1:表示状态字段默认值为 1(例如“启用”)
  • created_at DATETIME DEFAULT CURRENT_TIMESTAMP:自动填充当前时间

修改已有字段的默认值

如果表已经存在,可以使用 ALTER TABLE 修改字段的默认值。

mysql 字段默认值如何设置

如知 AI 笔记

如知笔记——支持 markdown 的在线笔记,支持 ai 智能写作、AI 搜索,支持 DeepseekR1 满血大模型

mysql 字段默认值如何设置 27

查看详情 mysql 字段默认值如何设置

ALTER TABLE users ALTER COLUMN status SET DEFAULT 0;

或等价写法:

ALTER TABLE users ALTER status SET DEFAULT 0;

若要删除默认值(恢复为无默认):

ALTER TABLE users ALTER status DROP DEFAULT;

常见默认 值类型 示例

  • 数字类型age INT DEFAULT 18
  • 字符串类型gender VARCHAR(10) DEFAULT ‘ 未知 ’
  • 布尔 / 状态:is_active Boolean DEFAULT TRUE
  • 时间类型:updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

注意:

  • TEXT 和 BLOB 类型字段不能设置默认值(MySQL 限制)
  • NULL 值不影响 DEFAULT 设置,但如果字段允许 NULL,插入 NULL 时不会使用默认值
  • CURRENT_TIMESTAMP 只适用于 DATE、DATETIME 和 TIMESTAMP 类型

基本上就这些,设置默认值能有效减少插入数据时的冗余操作,提升数据一致性。

站长
版权声明:本站原创文章,由 站长 2025-11-09发表,共计1252字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources