最近碰到一个case,值得分享一下. 现象 一个DDL,将列的属性从null调整为not null default xxx, alter table slowtech.t1 modify name varchar(10) not null default 'slowtech'; 通过平台执行(平台调用的是pt-online-schema-change). 但在执行的过程中,业务SQL报错,提示"ERROR 1048 (23000): Column 'name' cannot be null&qu…
问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错   1067 - Invalid default value for mysql数据库中需要使用timestamp列来存储数据的创建时间和更新时间 例如,创建后台管理菜单表,只看created_at和updated_at两个字段 DROP TABLE IF EXISTS `admin_menu`; CREATE TABLE `admin_menu` ( `id…
本文地址:http://www.cnblogs.com/hamhog/p/3536647.html "null很恶心." -Doug Lea "这是一个令我追悔莫及的错误." - Sir C. A. R. Hoare, 在评价他对null的发明时说. 使用和避免使用null 粗心地使用null能导致各种各样的bug.通过研究Google code base,我们发现大约95%的collection中不该含有null值.对于开发者来说,collection对null值…
这个问题我大概花了2个小时才找到结果 总共需要2个设置 这里是对应springboot中的配置写法 @select("select sum(a) a,sum(b) b from XXX where XXX; ") Map<String, Object> sumXXX(XXX); Map map = sumXXX(args); a b NULL NULL 期望结果 map : {a:null,b:null} 实际结果 map : null mybatis.configurat…
关于mysql优化部分,有很多网友说尽量避免使用is null, is not null,select * 等,会导致索引失效,性能降低?那是否一定收到影响呢?真的就不会使用索引了吗? 本文的测试数据库版本为5.7.18,不同版本得出的结果可能会有所不同: 本文测试的两张表数据如下: CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` int(11) DE…
其实本来这个问题没有什么好说的,今天优化的时候遇到一个SQL语句,因为比较有意思,所以我截取.简化了SQL语句,演示给大家看,如下所示 declare @bamboo_Code varchar(3);   set @bamboo_Code='-01';     SELECT DISTINCT yarn_lot FROM   dbo.rsjob WITH ( nolock ) WHERE  RIGHT(ges_no, 3) = @bamboo_Code        AND Isnull(yarn…
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有.在 数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字, Mysql3.23.0或 以后支持用<=>用来比较两个NULL值是否相等, 即 select * from table where id <=& gt; NULL. 为什么会出现NULL?这是来源于数据库的左右连接,不…
在有些时候,我们在创建表的时候,会忘掉设置某一个列的属性,比如忘了设置为非空,但是默认情况下系统会自动的设置为NULL.这样我们该怎样通过语句设置呢?? 例如有一个表,其中的一个属性为WM CHAR(10) NULL 如何将NULL修改为NOT NULL? ALTER TABLE table_name ALTER COLUMN column_name column_type NOT NULL; ALTER TABLE CLF ALTER COLUMN WM CHAR() NOT NULL…
本文转自: https://hdtuto.com/article/laravel-where-null-and-where-not-null-eloquent-query-example- if you are a starter or learner laravel then you have in mind how to check where null or where not null condition using laravel eloquent model when you are…
在SQL语句中我们一般会避免写IS NULL和IS NOT NULL,因为这样优化器不会使用索引. 但经过一系列测试发现这句话并不完全对,因为有时候也会使用索引. 语句: select * from tb where f0 is null ---列f0有索引,有null值 在上面语句中,当命中结果值总数小于0.1%时,这个查询会使用索引:否则会使用全表扫描. 有兴趣的可以自己试试…