在定义数据库的表的时候,我们知道有些属性我们可以设置让它可以为空,这样可以让我们在某些数据缺失的时候依然将信息插入表中。但是,这就涉及到了一个问题,如果有属性为空,我们在写插入语句的时候该如何写呢?今天做实验的时候我就遇到了这个困惑,并对此做了些尝试,现在将结果分享给大家,希望对大家能有所帮助。

首先,我们来看看这张表s的设计,在Navicat中,我们新建了这样一张表,其中除了主键sno,其他属性均可为空。

s表内容如下:

然后我们对这张表创建了一个视图v_xsqk,视图展示了s表中的sno,sname,ssex,sbirth这些属性。构建视图的结果如下:


好的,准备工作的介绍到此结束,下面我们进入正题。

我们的目标是:向视图V_XSQK中插入一条记录:‘2020206’,‘李红’,‘1983-12-3’。

很明显,添加的记录中缺少属性ssex,那么这个属性我们该怎么对它进行处理呢?

首先,我想的第一种方法是在插入语句中,这个属性的值不填,代码如下:

insert into v_xsqk values('2020206', '李红', , '1983-12-3');

显然这种方法是行不通的,返回了一行报错。

这种方法不行,那么我们换个思路。既然属性值为空,我们干脆不填值就好了,于是就有了下面这行代码:

insert into v_xsqk values('2020206', '李红', '', '1983-12-3');

先来看看结果:

乍一看,没毛病是吧?ssex为空,没有值。但是这只是视图的视角,我们一旦查看原表就露馅了:

由于视图中没有Sdept属性,所以插入表s后Sdept为默认空值。此时我们的ssex值应该也为空,显示NULL,然而我们并没有做到这一点。所以说这样写也不好。

那么正确的写法是什么呢?根据上图的启示,为空的属性值我们就填NULL就好了,于是有了下面这行代码:

insert into v_xsqk values('2020206', '李红', NULL, '1983-12-3');

我们先执行试试:

已经成功的执行了该语句,然后让我们看看结果,首先是视图:

在ssex一栏中成功地显示了NULL。然后我们来看看表s:

这样看起来就协调多了,我们的问题就解决了。


总结一下,为了实现缺少属性值的插入,我们一共试了三种方法,其中第一种是存在语法错误的;第二种可以通过语法检查,但是插入的结果不尽人意;第三种方法应该是最好的插入方法,在为空的值的位置填上NULL,这样更加切合默认空值。

本次小分享到此结束,谢谢观看,希望能帮到大家。

SQL insert插入中存在属性值为空相关推荐

  1. 关于ArcGIS中选择属性值为空的语句

    关于ArcGIS中选择属性值为null的语句 使用Select by Attributes工具编写Where语句 选中某字段值为空值的要素 使用Select by Attributes工具编写Wher ...

  2. sql语句insert插入函数如果values值括号里放变量名

    sql语句insert插入函数如果values值括号里直接放变量名就会到时表增加了一个空的记录,解决方法是使用特殊格式 String sql = "insert into user(name ...

  3. Java:比较两个对象中全部属性值是否相等

    点击关注公众号,实用技术文章及时了解 来源:xiaoer.blog.csdn.net/article/details/85005295 例如下述Java类: import java.io.Serial ...

  4. springboot log4j2.xml读取application.yml中的属性值

    注意:部份代码太长,可以通过文末的图片快速查看对应位置 项目需求 用户想自己配置日志存放的位置,因此我们需要满足提供可以配置的文件,用以满足用户的需求. 因此,我们主要通过 log4j2.xml 来读 ...

  5. SpringMVC js如何获取后台model中的属性值

    SpringMVC js如何获取后台model中的属性值 companylist 如何获取 var companylist="${companylist}"; 希望对你有所帮助 个 ...

  6. s:property=a value=/取的s:debug/s:debug中的value stack中的属性值

    <s:property="a"  value=""/>取的<s:debug></s:debug>中的value stack中 ...

  7. 在jsp中调用常量类中的属性值

    在jsp中想要调用常量类中的属性值方法: 1.  在jsp中导入此常量类   <%@page import="com.Zyp.constant.FlagConstant"%& ...

  8. 微信小程序如何实现通过js修改wxml的for循环中的属性值

    微信小程序如何实现通过js修改wxml的for循环中的属性值 要实现的效果 具体代码 要实现的效果 点击每一个活动选项,实现显示对应的操作按钮 具体代码 首先要在对应页面的js中给data中定义数组, ...

  9. CSS中position属性值有哪些?

    CSS中position属性值有哪些? 1.position:relative;相对定位 1> 不影响元素本身特性(无论区块元素还是内联元素会保留其原本特性) 2> 不会使元素脱离文档流( ...

最新文章

  1. 循环 Request.ServerVariables
  2. Oracle学习总结(7)—— 常用的数据库索引优化语句总结
  3. 企业或将借助OA走出经济危机
  4. linux yum 链接,Linux YUM之YUM仓库
  5. Python编程语言介绍
  6. atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
  7. 怎么下载英文文献?多种方法告诉你
  8. 计算机网络工程综合布线目的,浅谈网络工程综合布线系统
  9. 文件格式介绍:文本,图片,音频,视频
  10. 杀软和防火墙简单列表
  11. 数据分析方法论(6种方法,8个思路)
  12. 2003iso序列号
  13. 人人商城二次开发 各个装修模块diypage的自定义样式
  14. 北京游玩攻略,-怎么游玩清华北大
  15. 「图文」介绍下微信怎么拉票刷票及微信投票怎样自己拉票方法
  16. C++自带string类的常用方法
  17. java的选项板_你用CAD的工具选项板吗?
  18. 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全...
  19. 手把手教你入门 Git 教程,图文实例详解
  20. 08-Hibernate3.6.2 查询02 by SQL QBC QBE

热门文章

  1. 【77 backtrader的一些高级技巧】如何使用backtrader更好的计算夏普率?
  2. win10硬盘锁怎么解除_如何解除Windows10系统磁盘加密?
  3. 第七讲 幂级数的运算与和函数
  4. Shader之——高效率高度雾 云海
  5. COS函数和ACOS函数的使用
  6. 金属学复习【1】金属的晶体结构
  7. wuc-tab标签点击不了_买白酒时,不论啥牌子,只要标签上有“这行字”,全是酒精勾兑酒...
  8. 【Java 数据结构 算法】宁可累死自己, 也要卷死别人 12 红黑树
  9. 解决Windows 11网络连接问题:教你轻松排查网络故障
  10. Galera集群--搭建(2个数据节点+1个仲裁)