mysql修改字段默认值_Mysql 修改字段默认值

环境描述:

MySQL 5.7.13

ebd37416d97292a91d0f4ad2e6218426.png

问题描述:

建表的时候,users_info表的role_id字段没有默认值,后期发现注册的时候,需要提供给用户一个默认角色,也就是给role_id字段一个默认值。

当前users_info表的role_id 在创建表的时候,没有设置默认值,数据库自动设置为空。

1e1787b65112fd6637506c567a596886.png

原先建表语句:role_id字段。

c18b22ca13f107758576dac1215511aa.png

修改字段默认值:role_id默认值设置为:1

mysql> alter table users_info alter column role_id set default 1;

测试:

mysql> insert into users_info(username,passwd,phone_number,email) values('赵六',md5('123456'),'13700007777','777777777@qq.com');

5bd8b4881394852d87ace04320d6010a.png

修改字段默认值语法:

alter table 表名 alter column 字段名 drop default; (若本身存在默认值,则先删除)

alter table 表名 alter column 字段名 set default 默认值;(若本身不存在则可以直接设定)

测试代码:

--由于users_info表创建的时候,添加了外键约束,所以,小伙伴们测试的话,建议先建个角色表roles

CREATE TABLE roles(

role_id smallint unsigned primary key auto_increment, #角色id

role_name varchar(20) not null unique #角色名称

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 创建用户信息表 role_id字段没设默认值

CREATE TABLE `users_info` (

`user_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,

`username` varchar(20) NOT NULL,

`passwd` char(60) NOT NULL,

`phone_number` varchar(11) DEFAULT NULL,

`email` varchar(60) DEFAULT NULL,

`role_id` smallint(5) unsigned,

`create_time` datetime NOT NULL default now(),

PRIMARY KEY (`user_id`),

UNIQUE KEY `username` (`username`),

KEY `fk_role_id` (`role_id`),

CONSTRAINT `fk_role_id` FOREIGN KEY (`role_id`) REFERENCES `roles` (`role_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 插入几条测试数据

insert into roles(role_name) values('初始注册角色');

insert into users(username,passwd,phone_number,email) values('张三',md5(''),'','7654321@qq.com')

SQL修改字段默认值、获取字段默认值

一.SQL修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 D ...

Sqlserver添加加字段、删除字段、修改字段类型、修改字段名、修改字段默认值

参考:https://www.cnblogs.com/pangpanghuan/p/6432331.html 初始化表: --.添加字段 --1.1.为null alter table DataTab ...

mysql删除、修改字段默认值

alter table表名alter column字段名drop default; (若本身存在默认值,则先删除) alter table 表名 alter column 字段名 set defaul ...

MYSQL SQL 语句修改字段默认值

alter table tablename alter column drop default; (若本身存在默认值,则先删除) alter table tablename alter column ...

sql 修改字段默认值

1.查出该字段的约束名称 SELECT c.name FROM sysconstraints a INNER JOIN syscolumns b on a.colid=b.colid INNER JO ...

sql的基本用法-------修改字段默认值和属性

修改表中已有的字段属性 ALTER TABLE 表名 ALTER COLUMN 字段名 varchar(500) --sqlserver建表表时设置字段的默认值 create table 表(id i ...

mysql字段默认值不生效的问题解决(上)

在项目中使用mybatis做为持久层框架,mysql数据库.项目上线前,DBA要求我们将每张数据库表中的字段都设置默认值和not null.之前项目中有一些insert语句是将表中所有字段都列出来,然 ...

mysql修改字段的语句写法

http://www.111cn.net/database/mysql/50678.htm 下面为您介绍的sql语句都是mysql修改字段操作中的一些常用语句,如果您是一个刚刚接触mysql数据库的新 ...

mysql设置datetime默认值为now

mysql设置datetime默认值为now MYSQL-TIMESTAMP数据类型的默认值与自动更新问题 http://blog.csdn.net/scogeek/article/details/5 ...

随机推荐

javascript判断对象

var assert = require('chai').assert; describe('Array', function() { describe('#indexOf()', function( ...

CodeForces 450B 矩阵

A - Jzzhu and Sequences Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & ...

C#一些知识点:委托和事件的区别

在C#中,委托和事件是比较容易混淆的两个知识点,本篇博客就记录一下委托和事件之间的区别. 定义上的区别 委托:委托实际上是一个类,用来表示一个函数,可以理解为C++中的函数指针. 事件:事件是一个修饰 ...

JS控制文本框中的密码显示/隐藏功能

[荐]JS控制文本框中的密码显示/隐藏功能_网页代码站(www.6a8a.com)

struts2.5框架使用通配符指定方法(常见错误)

在学习struts框架时经常会使用到通配符调用方法,如下:

Machine Learning and Data Mining Lecture 1

Machine Learning and Data Mining Lecture 1 1. The learning problem - Outline     1.1 Example of mach ...

以太坊中的账户、交易、Gas和区块Gas Limit等概念

什么是账户 以太坊账户与我们所知的账户概念有一定相似之处,却又有很大的区别,更不同于比特币中UTXO. 账户分两类: - 外部拥有账户(EOA),也就是普通账户 - 合约账户 普通账户 所谓的普通账户 ...

重识linux-linux的账号与用户组

重识linux-linux的账号与用户组 1 账号 每个登录linux系统的用户都有 uid和gid uid就是用户ID,gid就是组ID 在系统上存账号信息的文件是 /etc/passwd 存密码相 ...

MySQL表名大小写设置

1 简介    在MySQL中,数据库对应数据目录中的目录.数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎).因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小 ...

Java学习(正则表达式、Date类、DateFormat类、Calendar类)

一.正则表达式 1.概念:英语:Regular Expression,在代码中常简写为regex.正则表达式,是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串. ...

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改MySQL字段默认值,可以使用ALTER TABLE语句。具体的语法取决于你要修改字段类型和默认值的具体设置。 如果你要修改一个已经存在的字段默认值,可以使用以下语法: ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 新默认值; 如果你要为一个已经存在的字段移除默认值,可以使用以下语法: ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT; 如果你要修改一个字段的数据类型和默认值,可以使用以下语法: ALTER TABLE 表名 MODIFY COLUMN 字段名 新数据类型 DEFAULT 新默认值; 需要注意的是,当你修改字段默认值时,已经存在的记录的该字段值不会自动被修改,只有新插入的记录才会使用新的默认值。 这些是一些常用的MySQL修改字段默认值的语句,具体的语法可以根据你的需求进行调整和修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Mysql 修改字段默认值](https://blog.csdn.net/weixin_29045585/article/details/113124550)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [MySQL 字段默认值该如何设置](https://blog.csdn.net/qq_43842093/article/details/122245209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值