新闻详情

新闻详情

首页 / 资讯中心 / 详情

MySQL 默认值使用方法

发布时间:2026/11/13 20:58:24来源:尧图网络
MySQL 默认值使用方法
核心区分两大场景常量默认值MySQL5.7 / 8.0 都支持不用括号函数表达式默认值仅MySQL8.0.13支持必须包一层()特例CURRENT_TIMESTAMP8.0可以不加括号也可以写(CURRENT_TIMESTAMP)一、建表时指定默认值CREATE TABLE1. 常量默认5.7、8.0通用CREATETABLEt_const_demo(idINTPRIMARYKEYAUTO_INCREMENT,ageINTDEFAULT0,-- 数值常量nameVARCHAR(50)DEFAULT,-- 空字符串statusTINYINTDEFAULT1,-- 状态默认1enableBOOLEANDEFAULTTRUE,-- BOOLEAN底层TINYINTTRUE1 FALSE0remarkVARCHAR(200)DEFAULTNULL-- 默认NULL);插入时不写该字段自动填充默认值INSERTINTOt_const_demo(age)VALUES(18);-- name自动status自动1enable1remarkNULL2. 函数表达式默认仅MySQL8.0.13必须带括号CREATETABLEt_expr_demo(idINTPRIMARYKEYAUTO_INCREMENT,uidCHAR(36)DEFAULT(UUID()),uid_binBINARY(16)DEFAULT(UUID_TO_BIN(UUID())),meta JSONDEFAULT(JSON_ARRAY()),conn_uidINTDEFAULT(CONNECTION_ID()),db_nameVARCHAR(64)DEFAULT(DATABASE()),created_atDATETIMEDEFAULTCURRENT_TIMESTAMP);⚠️ 5.7 执行上面DEFAULT(UUID())会直接报错5.7只允许CURRENT_TIMESTAMP这一个函数作为默认值。二、已有表修改字段默认值ALTER TABLE语法ALTER TABLE 表名 MODIFY COLUMN 字段定义;-- 示例1给已有字段设置常量默认值ALTERTABLEt_const_demoMODIFYCOLUMNremarkVARCHAR(200)DEFAULT;-- 示例28.0给字段设置函数默认值ALTERTABLEt_expr_demoMODIFYCOLUMNuidCHAR(36)DEFAULT(UUID());注意ALTER不会修改表中已经存在的旧数据只对新插入的记录生效旧数据想批量更新需要单独执行 UPDATE。三、ON UPDATE时间字段专属不是DEFAULTcreated_atDATETIMEDEFAULTCURRENT_TIMESTAMP,updated_atDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP新增行updated_at填入当前时间更新该行其他字段时自动刷新updated_at为最新时间四、插入语句如何控制默认值✅ 方式1不写该字段自动使用默认值最常用INSERTINTOt_expr_demo(id)VALUES(NULL);-- uid、meta、created_at全部自动填充默认值✅ 方式2显式写 DEFAULT 关键字主动使用默认值INSERTINTOt_expr_demo(id,uid)VALUES(NULL,DEFAULT);-- uid使用DEFAULT定义的UUID()✅ 方式3手动传值覆盖默认值INSERTINTOt_expr_demo(id,uid)VALUES(NULL,my-custom-uuid);-- 会使用你传入的值不再执行默认函数五、查看表的默认值定义-- 方法1查看建表语句SHOWCREATETABLEt_expr_demo;-- 方法2查询information_schemaSELECTCOLUMN_NAME,COLUMN_DEFAULTFROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_SCHEMA你的数据库名ANDTABLE_NAMEt_expr_demo;六、重要限制 避坑5.7版本限制仅允许CURRENT_TIMESTAMP作为函数默认值UUID() / RAND() / DATABASE() 全部不能写DEFAULT。5.7如果需要UUID只能业务代码生成后传入SQL。表达式默认不能包含子查询、自定义函数、存储过程、引用其他字段的值。❌col INT DEFAULT (other_col 1)不支持不能引用同表其他列。TEXT/BLOBMySQL 8.0才支持默认值写法content TEXT DEFAULT ()5.7 TEXT/BLOB不能设置默认值。NULL 和 ‘’ 不要混淆VARCHAR DEFAULT NULL和VARCHAR DEFAULT 完全不一样NULL未知空字符串有值是空文本主从复制注意UUID()、RAND()、CONNECTION_ID()、CURRENT_USER()这类和会话相关的函数binlog推荐ROW模式STATEMENT模式主从数据不一致风险很高。七、综合完整示例MySQL8.0CREATETABLEbusiness_table(idBIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT主键,biz_noCHAR(36)DEFAULT(UUID())COMMENT业务唯一编号,statusTINYINTDEFAULT0COMMENT状态 0禁用1启用,amountDECIMAL(12,2)DEFAULT0.00COMMENT金额默认0,ext_json JSONDEFAULT(JSON_OBJECT())COMMENT扩展JSON默认空对象,create_dbVARCHAR(64)DEFAULT(DATABASE())COMMENT记录所属库,created_atDATETIMEDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,updated_atDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT更新时间)ENGINEInnoDBDEFAULTCHARSETutf8mb4;
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉