MySQL的not null default

2023-05-16


建表语句每行末尾的NOT NULL DEFAUTL 含义


        该句的含义是,该字段不能为null,并且设置如果插入数据的时候不设置该字段的值的时候使用的默认值。insert操作且不给该字段插值的时候,数据库判断该字段不能为null,于是便会找他的default值来写入数据库,如果没有default值,要么报错,插入失败,要么插入成功给个警告(社区版为报错,商用版报警告,并插入空串'',详见下面运行情况)


         由此可见如果为了避免插入null值单纯设置not null是不够的,在多数情况下可能还需要用default设置插入的时候没有设置值的情况下,数据库应该填入的默认值,否则可能引起插入失败。


        注:null不是'',在进行比较的时候null是不等于''的,对于null值需要用IFULL()、 IS NULL、 IS NOT NULL来处理的不能用 =等号。


mysql> \W                //  打开警告,默认MySQL不显示警告,关闭警告用\w
Show warnings enabled.
mysql> insert into test (name) values('aa'); 
Query OK, 1 row affected, 1 warning (0.01 sec)

<span style="background-color: rgb(102, 255, 153);">Warning (Code 1364): Field 'tmp' doesn't have a default value </span>   <span style="color:#ff0000;">//  报警告,插入成功</span>
mysql> show variables like '%version%';
+-------------------------+---------------------------------------------------------+
| Variable_name           | Value                                                   |
+-------------------------+---------------------------------------------------------+
| innodb_version          | 5.5.32                                                  |
| protocol_version        | 10                                                      |
| slave_type_conversions  |                                                         |
| version                 | 5.5.32-enterprise-commercial-advanced-log               |
| version_comment         | MySQL Enterprise Server - Advanced Edition (Commercial) |
| version_compile_machine | x86_64                                                  |
| version_compile_os      | Linux                                                   |
+-------------------------+---------------------------------------------------------+
7 rows in set (0.00 sec)

mysql> \W
Show warnings enabled.
mysql> insert into test (name) values('b');
<span style="color:#330033;background-color: rgb(51, 255, 51);">ERROR 1364 (HY000): Field 'note' doesn't have a default value</span>  <span style="color:#ff0000;">//  报错,插入失败</span>
mysql> show variables like '%version%';
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.6.14                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| version                 | 5.6.14                       |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86                          |
| version_compile_os      | Win32                        |
+-------------------------+------------------------------+
7 rows in set (0.00 sec)

           

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL的not null default 的相关文章

随机推荐

  • 关于学生课堂行为识别算法

    目前基于针对学校做了一款考生行为识别算法 xff0c 算法可以在服务器部署 xff0c 也可以在前端设备如Jetson RK等边缘设备运行 xff0c 目前算法已经投入使用 xff0c 算法效果如下 目前算法在 2080Ti 服务器运行效率
  • 获取imagefield 类型图片的路径

    绝对路径 request build absolute uri 图片 url 相对路径 图片 url
  • mmdetection 常用命令

    1 多卡训练 CUDA VISIBLE DEVICES 61 0 1 2 3 PORT 61 15200 tool dist train py configs py 4 2 普通测试 python tools test py configs
  • yolov5 导出onnx 忽略检测层

    def forward self x z 61 inference output for i in range self nl x i 61 self m i x i conv bs ny nx 61 x i shape x bs 255
  • python opencv 添加运动模糊

    在训练过程中增加 运动模糊 class MotionBlur object def init self p 61 0 5 degree 61 5 angle 61 45 self p 61 p self degree 61 degree s
  • pth 多类模型改成一类模型

    import torch import copy def change pth input pth out pth model dir 61 input pth checkpoint 61 torch load model dir mode
  • 使用opencv进行车牌提取及识别

    商业合作可联系 xff1a 547691062 64 qq com 目录 1车牌提取过程 1 1车辆图像获取1 2车牌定位1 3车牌字符分割2车牌提取 2 1灰度化2 2Candy边缘检测2 3形态学 xff08 膨胀腐蚀 xff09 处理
  • python 爬虫禁止访问解决方法(403)

    1 增加Header2 代理IP3 终极方法4 实例练习 5 更多思考 在上一篇博客中说到 xff0c 程序使用一段时间后会遇到HTTP Error 403 Forbidden错误 因为在短时间内直接使用Get获取大量数据 xff0c 会被
  • C++多线程编程

    c 43 43 11 之后有了标准的线程库 xff1a C 43 43 11发布之前 xff0c C 43 43 并没有对多线程编程的专门支持 xff0c C 43 43 11通过标准库引入了对多线程的支持 xff0c 大大方便了程序员的工
  • TensorFlow车牌识别完整版(含车牌数据集)

    在之前发布的一篇博文 MNIST数据集实现车牌识别 初步演示版 中 xff0c 我们演示了如何使用TensorFlow进行车牌识别 xff0c 但是 xff0c 当时采用的数据集是MNIST数字手写体 xff0c 只能分类0 9共10个数字
  • 混合精度训练

    MIXED PRECISION TRAINING https arxiv org pdf 1710 03740 pdf 论文概述 nvidia的Pascal和Volta系列显卡除了支持标准的单精度计算外 xff0c 也支持了低精度的计算 x
  • LDA-原理解析

    前言 在之前的一篇博客机器学习中的数学 7 PCA的数学原理中深入讲解了 xff0c PCA的数学原理 谈到PCA就不得不谈LDA xff0c 他们就像是一对孪生兄弟 xff0c 总是被人们放在一起学习 xff0c 比较 这这篇博客中我们就
  • Linux下配置使用VNC

    1 在Linux下配置使用VNC 1 1 VNC简介 VNC xff08 Virtual Network Computing xff0c 虚拟网络计算机 xff09 是一种可以对远程计算机进行远程控制的软件 xff0c 支持linux远程桌
  • 双目测距原理

    双目测距基本原理 xff1a 双目测距实际操作分4个步骤 xff1a 相机标定 双目校正 双目匹配 计算深度信息 相机标定 xff1a 摄像头由于光学透镜的特性使得成像存在着径向畸变 xff0c 可由三个参数k1 k2 k3确定 xff1b
  • openstack虚拟机无法启动的一次排错经历

    如上图所示 xff0c 虚拟机卡在这个界面并且无法启动 一般的虚拟机排错方式 xff1a 1 查找虚拟机宿主机的以下日志排查是否有报错的关键字 span class hljs built in var span span class hlj
  • 给自己时间沉淀下来

    像很多学长学姐当初一样 xff0c 我也到了繁忙的大四 这个尴尬的时间 xff0c 要选择 xff0c 要放弃 开始实习 xff0c 去窥探一下外面的世界 经过一个月的测试工作 xff0c 开始发现自己与别人的差距还是很大 再继续试水 xf
  • ROS学习(22)TF变换

    文章目录 前言一 TF功能包二 TF工具1 tf monitor2 tf echo3 static transform publisher4 view frames 三 乌龟例程中的TF四 乌龟跟随例程代码实现1 创建TF广播器2 创建TF
  • C# winform 窗体缩放问题处理

    一 问题 xff1a 本身窗体在设计器显示没有问题 xff0c 但运行时窗口却被缩放失真 xff1a 二 解决方法 xff1a 修改项目的配置文件 xff0c 使项目运行时自动检测屏幕分辨率 xff0c 在高分辨率屏幕禁用系统缩放 xff0
  • strlen与sizeof计算char* 与char数组

    sizeof 可以计算所有类型 xff0c strlen 仅计算字符串 xff0c 至于这二者的详细区别可以看其他文章 char a char b 5 sizeof a 61 8 64位系统 xff0c 8代表的是指针的大小 xff0c 指
  • MySQL的not null default

    建表语句每行末尾的NOT NULL DEFAUTL 含义 该句的含义是 xff0c 该字段不能为null xff0c 并且设置如果插入数据的时候不设置该字段的值的时候使用的默认值 insert操作且不给该字段插值的时候 xff0c 数据库判