mysql将列默认值设置为uuid

使用mysql版本为8.1.0

建表时设置

create table test(uuid varchar(100) NOT NULL default (uuid()) ,aaaa varchar(100) not null default (uuid()) ,primary key(uuid) 
);

可以看到主键和普通列都可以设置,但是要注意uuid()要加上括号,否则会报错

修改时设置

ALTER TABLE test MODIFY uuid VARCHAR(36) DEFAULT (uuid());
ALTER TABLE test MODIFY aaaa VARCHAR(36) DEFAULT (uuid());

同样注意要添加括号

使用自定义函数

目前没有使用默认值的方式设置成功过,mysql好像不支持使用自定义函数作为默认值

CREATE FUNCTION custom_function_name()
RETURNS int
DETERMINISTIC
BEGINRETURN 1;
END;
ALTER TABLE test MODIFY aaaa VARCHAR(36) DEFAULT (custom_function_name());

会报错 3770 - Default value expression of column 'aaaa' contains a disallowed function: custom_function_name.

而使用其他内置函数,如length、concat等是可以的

这时应该只能使用触发器了,需要注意的是,在设置默认值时,只要能不使用触发器,就一定不要使用

CREATE FUNCTION custom_function_name()
RETURNS int
DETERMINISTIC
BEGINRETURN 1;
END;create trigger tri_test_uuid
before insert on test
for each ROW
BEGINSET new.aaaa=custom_function_name();
END
;

参考帖子https://forums.mysql.com/read.php?152,688554,688554#msg-688554

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试题HTML+CSS+网络+浏览器篇

文章目录 Css预处理sass less是什么?为什么使用他们怎么转换 less 为 css?重绘和回流是什么http 是什么?有什么特点HTTP 协议和 HTTPS 区别什么是 CSRF 攻击HTML5 新增的内容有哪些Css3 新增的特性flex VS grid清除浮动的方式有哪些&#xff…

Yolov8改进交流

YOLO v8改进 YOLOv8的改进,我接触的主要分为网络改进和代码改进,网络改进就是以注意力、主干为主,代码改进就是类似于Iou,类别权重等修改。 以下是yolov8的原始模型。 # Ultralytics YOLO 🚀, AGPL-3.0 license # YO…

Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows

Tensorflow2.0部署(tensorflow/serving)过程备忘记录 部署思路:采用Tensorflow自带的serving进模型部署,采用容器docker 1.首先安装docker 下载地址(下载windows版本):https://desktop.docke…

android开发基础自学,Android开发学习视频

谈起性能优化,我想问, 什么是性能优化?你的理解呢? **首先什么是性能:**在同一个手机里面,同样功能的app,哪个跑的快,哪个不卡,哪个就性能高。我们这篇文章就是解决那些…

MEMGPT

1、因为安装环境时是使用的pip install pymemgpt,所以当使用memgpt run运行时,实际上运行的是/home/ubuntu/anaconda3/lib/python3.9/site-packages/memgpt环境目录中的代码。如果想要修改代码,也要在上述目录的文件中修改代码,才…

MacOS 退出默认conda环境

默认关闭 conda config --set auto_activate_base false 将false 改为true 默认打开 近推出当前环境 conda deactivate

[译]BNF 表示法:深入了解 Python 的语法

[译]BNF 表示法:深入了解 Python 的语法 原文:《BNF Notation: Dive Deeper Into Python’s Grammar》 https://realpython.com/python-bnf-notation/ 在阅读Python文档的时候,你可能已经遇到过BNF(Backus–Naur form)表示法: 下…

自动化测试摸索:python+selenium+pytest(持续更新.....)

一、环境搭建 1、python 安装 下载链接:Python Releases for Windows | Python.org 自己选择合适的版本下载 当下载完毕时,找到该安装程序:python-3.12.2-amd64.exe文件,双击启动安装向导。 为了防止C:盘文件因系统故障或者无…

Hive SQL 开发指南(三)优化及常见异常

在大数据领域,Hive SQL 是一种常用的查询语言,用于在 Hadoop上进行数据分析和处理。为了确保代码的可读性、维护性和性能,制定一套规范化的 Hive SQL 开发规范至关重要。本文将介绍 Hive SQL 的基础知识,并提供一些规范化的开发指…

鸿蒙 Stage模型-AbilityStage、Context、Want

前提:基于官网3.1/4.0文档。参考官网文档 基于Android开发体系来进行比较和思考。(或有偏颇,自行斟酌) 一、 AbilityStage 1.概念 AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilitySt…

融资项目——nacos注册中心

1.在分布式微服务架构中,注册中心是核心的基础服务之一。 2.服务治理的实现主要依靠的就是注册中心,用来进行服务的发现与注册。 一、服务注册 就是将提供某个服务的模块信息(通常是这个服务的ip和端口)注册到注册中心上去。例如B服务在某些服务器上线…

前端面试练习24.3.4

目录 普通问题 说一说 严格模式和 非严格模式 关键词: 具体: SSL/TLS加密 很基础的重点 什么是原型链,说说相关的理解 接下来阐述什么原型: 关系: 说一说你对闭包的理解 闭包的核心概念有三个要素&#xff1…

使用conda安装rasa macbook亲测有效

要使用conda安装Rasa,你可以按照以下步骤进行操作: 首先,确保你已经安装了Anaconda或Miniconda,并且conda命令可以在终端或命令提示符中正常运行。 创建一个新的conda虚拟环境,专门为Rasa安装。这样做可以隔离Rasa及其…

租房招聘平台新篇章:Java+SpringBoot技术革新

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

ansible批量筛选出指定操作系统的主机列表

查看主机操作系统的shell脚本getOS.sh #!/bin/bash# 获取操作系统信息 os_info$(hostnamectl | grep Operating System | awk -F : {print $NF})# 检查是否包含"centos" if echo "$os_info" | grep -E *centos* > /dev/null; then# 打印主机IPecho &qu…

嵌入式面试常见问题(四)

1.在基于Linux的网络套接字编程中,如果需要创建一个IPv4的网络套接字,应该在socket函数中指定domain参数为AF_INET 解析: socket()函数创建套接字 函数原型:int socket(int domain, int type, int protocol); domain:协议簇&…

js教程(2)

一、运算符 1.赋值运算符 对变量进行赋值的运算符叫做赋值运算符,除了“”以外,还有一些复合赋值运算符:“”、“-”、“*”、“/”、“%“,使用这些运算符可以在对变量赋值时进行快速操作,例如: let num…

k8s-prometheus应用监控 23

使用prometheus监控,结合prometheus传递的指标,从而实现业务监控的自动化弹缩。 注:部署集群需要消耗较大的内存,需要提前扩容各节点的内存量至少达到4g 部署一个用于被监控的应用 上传所需镜像 修改yaml文件 部署完成 没有就绪是…

Linux检查软件信息及Linux清理日志等功能

提示:工具下载链接在文章最后 目录 一.ywtool check命令1.1 ywtool check -I1.2 ywtool check all1.3 ywtool check io1.4 ywtool check elk1.5 ywtool check php1.6 ywtool check mysql1.7 ywtool check nginx1.8 ywtool check system1.9 ywtool check docker_nbip [容器名称]…

mysql主从问题整理

以下3种情况是在HA切换时,由于是异步复制,且sync_binlog0,会造成一小部分binlog没接收完导致同步报错。 第一种:在master上删除一条记录,而slave上找不到。 第二种:主键重复。在slave已经有该记录&#x…