问题

2018.08.15 由于测试环境代码更新到了最新版,但是DB结构未更新导致测试环境抛出大量异常,同步测试环境表结构时执行了以下SQL语句

ALTER TABLE `server`

ADD COLUMN `unit_name` varchar(50) NOT NULL DEFAULT '' COMMENT '容器名称',

ADD KEY `idx_unit_name` (unit_name)

在server表中添加了unit_name字段,默认值设置为空字符串。

2018.08.20 测试环境又抛出大量异常,异常信息如下

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'unit_name' cannot be null

看起来是因为unit_name字段为null导致的,可是明明已经设置了默认值为空字符串,为何这里还会抛这个异常?

原来当sql语句中没有指定unit_name时才会将其值设置为空字符串。如果sql中给unit_name指定了null值,insert时就会抛上面的错误。

建表测试

CREATE TABLE `table_test` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`username` varchar(50) NOT NULL DEFAULT '',

`password` varchar(50) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE = InnoDB AUTO_INCREMENT = 2

执行以下语句时正确插入数据

insert INTO table_test (username) VALUES ('admin');

执行以下语句时会抛出异常

insert INTO table_test (username, password) VALUES ('admin', null);

mysql中默认值_和comment_MySQL字段默认值踩坑记录相关推荐

  1. mongodb如何实现更新一个字段的值为另外一个字段的值?

    转载自   mongodb如何实现更新一个字段的值为另外一个字段的值? db.CargoUserProfiles.find().forEach(function(item){db.CargoUserP ...

  2. mysql 使用sum limit_mysql踩坑记录之limit和sum函数混合使用问题

    问题复盘 本次复盘会用一个很简单的订单表作为示例. 数据准备 订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID) CREATE TABLE `order` ( ...

  3. 【mysql】 踩坑记录之derived(派生表)

    文章目录 前言 出现的问题 如何解决 方法一:改写sql 方法二:改写sql 方法三:改写sql 前言 很多时候我们常常感觉到,不要你以为,mysql要它以为.记录派生表踩坑记录. 首先说明环境mys ...

  4. el-radio(自定义样式)获取选中label值 + 选中状态 + 拼接String + post提交 - 踩坑篇

    疑问: vue中怎么获取radio的选中值 .选中状态? 效果图 · 截图: 注意点: 需要使用 label传值,后台接什么,你就传什么 (这个需要和后台事先确定好) 使用@change事件,监听鼠标 ...

  5. 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错

    [踩坑记录]mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错 报错记录 解决方案 推荐方案 使用uuid作为主键,修改id的类型为bigint ...

  6. sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...

    本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 一.概述 测试覆盖率是老生常谈的话题.因为我测试理论基础不是很好,这里就不提需求.覆盖率等内容,直奔主 ...

  7. 微信退款 java工具类,微信支付中退款踩坑记录

    首先附上微信支付的开发者文档 其实这里所说的踩坑记录,无非就是微信在开发者文档上的写不太明确,也没有比较官方的demo,在此列出一个可行的demo,供大家下载使用. 主要问题就是在这几步解密上 微信的 ...

  8. Qt5.13.2中配置opencv4.5.0踩坑记录

      目录 cmake编译opencv时速度过慢或超时 mingw32-make时报错 错误一 [modules\core\CMakeFiles\opencv_core.dir\build.make:1 ...

  9. MySQL中的哥哥表、妹妹字段,是什么鬼?

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. 晚上,我被叫进宽大的办公室,总监正在煮茶.高压锅煮着长嘴茶壶,水蒸气缭绕.领导举手之间,淡黄茶水奔涌而出,倒立而下浇上茶叶 ...

  10. 在mysql中建立聚簇索引_给我一分钟,让你彻底明白MySQL聚簇索引和非聚簇索引...

    推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少? MySQL的InnoDB索引数据结构是B+树,主键索引叶子节点的值存储的就是MySQL的数据行,普通索引的叶子节点的值存储的是主键值,这是 ...

最新文章

  1. 快速构建Windows 8风格应用6-GridView数据控件
  2. mysql percona server_MySQL Study之--Percona Server版本
  3. 产品设计体会(9000)人人都是产品经理,系列说明
  4. 文献记录(part94)--Clustering and outlier detection using isoperimetric number of trees
  5. 优秀的代码原来是这样分层的
  6. JavaScript Promise查缺补漏
  7. IBM x3650 光盘安装linux,IBM X3650 M3服务器安装SUSE LINUX 10实战
  8. openmvide使用需要什么插件_什么伺服电机需要加装减速机才能使用?
  9. DataSet里的数据写入XML文件
  10. ad16怎么画弧线_ad16怎么画弧线_板绘是什么?怎么用?
  11. spyder下载python3.5_ubuntu14.04 anaconda tensorflow spyder(python3.5) + opencv3
  12. VMware Horizon 8安装部署(八)访问测试,成功部署。
  13. 消除六边形html5,六边形消除
  14. 实现西门子S71200/1500与三菱FX系列PLC通讯
  15. 安装完黑苹果之后该做的事情
  16. Logcat 的使用方法
  17. EOS什么时候会归零?
  18. 「深圳二手房」成交激增会不会是楼市转机的标志?
  19. 点评2008年九大经济学家惊人语录
  20. ArcGIS提取斜坡单元

热门文章

  1. 聚合数据iOS SDK 12306火车票查询订票演示示例
  2. 维基百科六度分隔理论
  3. 散布谣言也能实现一致性?来看看Gossip协议如何活用六度分隔理论
  4. java 计算父亲节_写了一个简单的计算父亲节母亲节等日期的方法
  5. StataIC——短面板数据分析(以检验啤酒税将降低交通死亡率的假说为例)
  6. ibmx3100M5服务器装win7系统,详细教程:如何安装win7系统?
  7. 服务器集群速度文件传输,为什么要实现服务器集群
  8. 计算机重启事件查看,事件查看器检查上一次电脑关机时间
  9. linux中获取日志5分钟以内的内容
  10. 一只青蛙跳向三个台阶_青蛙跳台阶算法