广告
返回顶部
首页 > 资讯 > 数据库 >MySQL 字段默认值该如何设置
  • 836
分享到

MySQL 字段默认值该如何设置

MySQL字段MySQL字段默认值MySQL字段默认值设置 2022-05-17 01:05:29 836人浏览 安东尼
摘要

前言:  在 Mysql 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默

前言: 

Mysql 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默认值相关知识。

  1.默认值相关操作

我们可以用 DEFAULT 关键字来定义默认值,默认值通常用在非空列,这样能够防止数据表在录入数据时出现错误。

创建表时,我们可以给某个列设置默认值,具体语法格式如下:


# 格式模板
<字段名> <数据类型> DEFAULT <默认值>

# 示例
mysql> CREATE TABLE `test_tb` (
    ->   `id` int NOT NULL AUTO_INCREMENT,
    ->   `col1` varchar(50) not null DEFAULT 'a',
    ->   `col2` int not null DEFAULT 1,
    ->   PRIMARY KEY (`id`)
    -> ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.06 sec)

mysql> desc test_tb;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| col1  | varchar(50) | NO   |     | a       |                |
| col2  | int(11)     | NO   |     | 1       |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> insert into test_tb (col1) values ('fdg');
Query OK, 1 row affected (0.01 sec)

mysql> insert into test_tb (col2) values (2);
Query OK, 1 row affected (0.03 sec)

mysql> select * from test_tb;
+----+------+------+
| id | col1 | col2 |
+----+------+------+
|  1 | fdg  |    1 |
|  2 | a    |    2 |
+----+------+------+
2 rows in set (0.00 sec)

通过以上实验可以看出,当该字段设置默认值后,插入数据时,若不指定该字段的值,则以默认值处理。

关于默认值,还有其他操作,例如修改默认值,增加默认值,删除默认值等。一起来看下这些应该如何操作。


# 添加新字段 并设置默认值
alter table `test_tb` add column `col3` varchar(20) not null DEFAULT 'abc';

# 修改原有默认值
alter table `test_tb` alter column `col3` set default '3a';
alter table `test_tb` change column `col3` `col3` varchar(20) not null DEFAULT '3b';
alter table `test_tb` MODIFY column `col3` varchar(20) not null DEFAULT '3c';

# 删除原有默认值
alter table `test_tb` alter column `col3` drop default;

# 增加默认值(和修改类似)
alter table `test_tb` alter column `col3` set default '3aa';

  2.几点使用建议

其实不止非空字段可以设置默认值,普通字段也可以设置默认值,不过一般推荐字段设为非空。


mysql> alter table `test_tb` add column `col4` varchar(20) DEFAULT '4a';
Query OK, 0 rows affected (0.12 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql>  desc test_tb;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| col1  | varchar(50) | NO   |     | a       |                |
| col2  | int(11)     | NO   |     | 1       |                |
| col3  | varchar(20) | NO   |     | 3aa     |                |
| col4  | varchar(20) | YES  |     | 4a      |                |
+-------+-------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

项目开发中,有些默认值字段还是经常使用的,比如默认为当前时间、默认未删除、某状态值默认为 1 等等。简单通过下表展示下常用的一些默认值字段。


CREATE TABLE `default_tb` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  ...
  `country` varchar(50) not null DEFAULT '中国',
  `col_status` tinyint not null DEFAULT 1 COMMENT '1:代表啥 2:代表啥...',
  `col_time` datetime NOT NULL DEFAULT '2020-10-01 00:00:00' COMMENT '什么时间',
  `is_deleted` tinyint not null DEFAULT 0 COMMENT '0:未删除 1:删除',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

这里也要提醒下,默认值一定要和字段类型匹配,比如说某个字段表示状态值,可能取值 1、2、3... 那这个字段推荐使用 tinyint 类型,而不应该使用 char 或 varchar 类型。

笔者结合个人经验,总结下关于默认值使用的几点建议:

非空字段设置默认值可以预防插入报错。

默认值同样可设置在可为 null 字段。

一些状态值字段最好给出备注,标明某个数值代表什么状态。

默认值要和字段类型匹配。

总结: 

本篇文章主要讲述 MySQL 字段默认值相关知识,比较简单易懂,希望各位有所收获。

以上就是MySQL 字段默认值该如何设置的详细内容,更多关于MySQL 字段默认值的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 字段默认值该如何设置

本文链接: https://www.lsjlt.com/news/10174.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL 字段默认值该如何设置
    前言:  在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默...
    99+
    2022-05-17
    MySQL 字段 MySQL 字段默认值 MySQL 字段默认值设置
  • 如何设置MySQL的字段默认值
    本篇文章给大家分享的是有关如何设置MySQL的字段默认值,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 1.默认值相关操作我们可以用 DEFAULT 关键字来定义默认...
    99+
    2023-06-06
  • MySQL中如何为字段设置默认值?
    在MySQL中,我们可以为表的字段设置默认值,以确保在插入新记录时,如果没有为该字段指定值,将使用默认值。这在许多情况下都非常有用,特别是当我们希望在插入数据时自动填充某些字段,或者当我们想要为字段提...
    99+
    2023-10-23
    mysql 数据库
  • MySQL表字段时间设置默认值
    应用场景 在数据表中,要记录的每条数据是什么时候创建的,不需要应用程序去特意记录,而是由数据库获取当前时间自动记录创建时间。 在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而...
    99+
    2022-05-22
    MySQL 字段时间默认值 MySQL 字段默认值
  • MySQL中怎么设置字段默认值
    本篇文章为大家展示了MySQL中怎么设置字段默认值,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.默认值相关操作我们可以用 DEFAULT 关键字来定义默认值,默...
    99+
    2022-10-18
  • mysql字段默认值如何设置比较好
    设置MySQL字段的默认值要根据具体的业务需求和数据类型来决定。以下是设置MySQL字段默认值的几个常见做法: 对于数值型字段,...
    99+
    2023-10-23
    mysql
  • access如何设置字段的默认值
    在Access中,可以通过设置字段的默认值来指定该字段在每次插入新记录时的默认值。以下是在Access中设置字段的默认值的步骤:1....
    99+
    2023-10-11
    access
  • mysql设置某字段默认值的方法
    这篇文章将为大家详细讲解有关mysql设置某字段默认值的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql设置某字段默认值的方法:1、加字段和设置默认值;2、通...
    99+
    2022-10-18
  • mysql 将date字段默认值设置为CURRENT_DATE
    我们是否可以在mysql中,将Date字段的默认值设置为CURRENT_DATE(当前日期)? 答案是8.0之前不可以,8.0.13之后可以。 比如在5.7版本中使用如下sql创建表,将会提示语法错误: CREATE TABLE `t_o...
    99+
    2023-08-31
    mysql
  • MYSQL---字段的默认值
    一、背景         问题的原因也是十分简单,在csdn上随便百度就可以找到解决问题的方法,但为什么还要写这篇文章呢?因为在去尝试的时候自己遇到了一些有趣的问题,并且从中也学到了有意思的知识。        报错: java.sql.S...
    99+
    2023-09-30
    mysql 数据库
  • mysql中给字段设置默认值的方法
    mysql中给字段设置默认值的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!方法:1、创建表时用“CREATE TAB...
    99+
    2022-10-18
  • navicat怎么设置字段默认值
    要设置字段的默认值,可以按照以下步骤在Navicat中进行操作:1. 在Navicat中打开数据库连接,并选择要设置默认值的表。2....
    99+
    2023-10-11
    navicat
  • SpringDataJPA设置字段默认值方式
    目录Spring Data JPA设置字段默认值Spring Data JPA设置字段默认值失败Spring Data JPA设置字段默认值 在Column注解中写入以下两个属性,为...
    99+
    2022-11-12
  • sqlserver怎么设置字段默认值
    在SQL Server中,可以使用`DEFAULT`关键字来设置字段的默认值。例如,假设我们有一个名为`users`的表,其中有一个...
    99+
    2023-09-16
    sqlserver
  • MySQL中varchar类型的字段默认值设置方式
    目录mysql varchar字段默认值设置Mysql Varchar 类型为什么默认设置 255Mysql5.6.xMysql5.7.x总结MySQL varchar字段默认值设置 最近开始给项目设计数据库,遇到一个可...
    99+
    2023-10-19
    MySQL varchar类型 MySQL字段默认值 varchar类型的字段默认值
  • SQL数据库字段怎么设置默认值
    在创建表时,可以使用DEFAULT关键字来为字段设置默认值。例如,以下是在SQL Server数据库中创建表并设置默认值的示例: C...
    99+
    2023-10-23
    SQL数据库
  • oracle怎么增加字段并设置默认值
    要在Oracle中增加一个字段并设置默认值,可以使用ALTER TABLE语句。例如,假设我们有一个名为"customers"的表格...
    99+
    2023-08-25
    oracle
  • MySQL如何修改字段的默认值和空值
    目录mysql修改字段的默认值和空值修改字段默认值修改字段值是否为空MySQL默认值NULL、空值、Empty String的区别如何选择?先说结论区别MySQL修改字段的默认值和空值 修改字段默认值 修改: ALTER...
    99+
    2022-08-29
  • python如何设置字典默认值
    这篇文章主要介绍python如何设置字典默认值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!字典默认值通过 Key 取对应的 Value 值,可以通过以下方式设置默认值。如果 get() 方法没有设置默认值,那么如果...
    99+
    2023-06-27
  • MySQL怎么设置默认值
    在MySQL中,可以通过以下两种方式设置默认值: 在创建表时设置默认值: 可以在CREATE TABLE语句中为列指定默认值。例...
    99+
    2023-10-24
    MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作