300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql修改字段默认值_Mysql 修改字段默认值

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

时间:2023-06-20 02:30:55

相关推荐

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

环境描述:

MySQL 5.7.13

问题描述:

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

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

原先建表语句:role_id字段。

修改字段默认值: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@');

修改字段默认值语法:

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@')

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

一.SQL修改字段默认值 altertable表名dropconstraint约束名字 说明:删除表的字段的原有约束 altertable表名addconstraint约束名字D ...

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

参考:/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 tablenamealter 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修改字段的语句写法

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

mysql设置datetime默认值为now

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

随机推荐

javascript判断对象

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

CodeForces 450B 矩阵

A -Jzzhu and Sequences Time Limit:1000MSMemory Limit:262144KB64bit IO Format:%I64d & ...

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

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

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

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

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.正则表达式,是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串. ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。