MariaDB10.2.X-新特性2-支持check约束and with as
前几天写了一篇MariaDB10.2支持分析函数,大家印象中MySQL不支持with as ,check约束,那么MariaDB10.2也同样给你惊喜
1.with as
MariaDB [test11]> with a as ( select * from t1 where channerId ='支付宝' ) select * from a;
+----+--------+------------+-----------+--------+
| id | userId | orderId | channerId | amount |
+----+--------+------------+-----------+--------+
| 1 | 张3 | 2016060101 | 支付宝 | 100 |
| 2 | 李4 | 2016060102 | 支付宝 | 98 |
| 7 | 张3 | 2016060107 | 支付宝 | 200 |
| 10 | 李4 | 2016060110 | 支付宝 | 300 |
+----+--------+------------+-----------+--------+
4 rows in set (0.01 sec)
MariaDB [test11]> explain with a as ( select * from t1 where channerId ='支付宝' ) select * from a;
+------+-------------+-------+------+---------------+---------------+---------+-------+------+-----------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+------+-------------+-------+------+---------------+---------------+---------+-------+------+-----------------------+
| 1 | SIMPLE | t1 | ref | idx_channerId | idx_channerId | 182 | const | 4 | Using index condition |
+------+-------------+-------+------+---------------+---------------+---------+-------+------+-----------------------+
1 row in set (0.00 sec)
MariaDB [test11]>
#check 约束
MariaDB [test11]> CREATE TABLE `t_user` (
-> `id` int NOT NULL AUTO_INCREMENT ,
-> `name` varchar(255) NOT NULL DEFAULT '' ,
-> `age` tinyint UNSIGNED NULL check(age > 0 and age < 120) ,
-> `gender` tinyint NULL COMMENT '(0男,1女,2未知)' ,
-> `address` varchar(255) NULL ,
-> PRIMARY KEY (`id`)
-> )
-> ;
Query OK, 0 rows affected (0.03 sec)
MariaDB [test11]> insert into t_user ( name,age,gender,address) values ( 'zhangsan',1,1,'afdadfa');
Query OK, 1 row affected (0.03 sec)
MariaDB [test11]> insert into t_user ( name,age,gender,address) values ( 'lisi',121,0,'afdadfa');
ERROR 4022 (23000): CONSTRAINT `age` failed for `test11`.`t_user`
MariaDB [test11]> insert into t_user ( name,age,gender,address) values ( 'lisi',0,0,'afdadfa');
ERROR 4022 (23000): CONSTRAINT `age` failed for `test11`.`t_user`
MariaDB [test11]> update t_user set age =122 where id =1;
ERROR 4022 (23000): CONSTRAINT `age` failed for `test11`.`t_user`
MariaDB [test11]>
###
这个很值得期待的版本,希望官方版本也能及时跟进,纵观MySQL5.6,5.7的很多特性都是借鉴MariaDB的特性
MariaDB10.2.X-新特性2-支持check约束and with as的更多相关文章
- Linux环境下Eclipse对C++新特性的支持设置
Linux环境下Eclipse对C++新特性的支持设置 今天写一个简单的关于C11中的array容器的测试程序如下, #include <iostream> #include &l ...
- [置顶]
Kubernetes1.7新特性:支持绕过docker,直接通过containerd管理容器
背景情况 从Docker1.11版本开始,Docker依赖于containerd和runC来管理容器,containerd是控制runC的后台程序,runC是Docker公司按照OCI标准规范编写的一 ...
- kubernetes1.4新特性:支持两种新的卷插件
背景介绍 在Kubernetes中卷的作用在于提供给POD持久化存储,这些持久化存储可以挂载到POD中的容器上,进而给容器提供持久化存储. 从图中可以看到结构体PodSpec有个属性是Volumes, ...
- Entity Framework 6 Code First新特性:支持存储过程
Entity Framework 6提供支持存储过程的新特性,本文具体演示Entity Framework 6 Code First的存储过程操作. Code First的插入/修改/删除存储过程 默 ...
- Mozilla新特性只支持https网站,再次推动SSL证书普及
Mozilla的官方博客2015.4.30正式宣布了淘汰HTTP的方案. 其中包括:设定一个日期,所有的新特性将只提供给HTTPS网站:HTTP网站将逐步被禁止访问浏览器功能,尤其是那些与用户安全和隐 ...
- Mozilla新特性只支持https网站
Mozilla的官方博客2015.4.30正式宣布了淘汰HTTP的方案. 其中包括:设定一个日期,所有的新特性将只提供给HTTPS网站:HTTP网站将逐步被禁止访问浏览器功能,尤其是那些与用户安全和隐 ...
- kubernetes1.4新特性:支持sysctl命令
背景介绍 sysctl是一个允许改变正在运行中的Linux系统内核参数的接口.可以通过sysctl修改Linux系统内核中的TCP/IP 堆栈和虚拟内存系统的高级选项,而且不需要重新启动Linux系统 ...
- kubernetes1.4新特性:支持Docker新特性
(一)背景资料 在Kubernetes1.2中这个第三方组件就是go-dockerclient,这是一个GO语言写的docker客户端,支持Dockerremote API,这个项目在https:// ...
- Kubernetes1.3新特性:支持GPU
(一) 背景资料 GPU就是图形处理器,是Graphics Processing Unit的缩写.电脑显示器上显示的图像,在显示在显示器上之前,要经过一些列处理,这个过程有个专有的名词叫" ...
随机推荐
- Oracle中的通配符
这是scott用户下的EMP表 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7369 SMITH CLERK 7902 1980/12/17 800 ...
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- 【Ibatis】总结各种使用技巧
[Ibatis]总结各种使用技巧 <alias> <typeAlias alias="YintaiMobile_FreeData_Model" type=&quo ...
- Eclipse 环境安装和配置优化
1.下载相应的eclipse版本. 官方下载地址:http://www.eclipse.org/downloads/ juno版本的64位下载地址:http://www.eclipse.o ...
- Unsupervised Learning: Use Cases
Unsupervised Learning: Use Cases Contents Visualization K-Means Clustering Transfer Learning K-Neare ...
- Apache Options Indexes FollowSymLinks之讲解
禁止显示Apache目录列表-Indexes FollowSymLinks 如何修改目录的配置以禁止显示 Apache 目录列表. 缺省情况下如果你在浏览器输入地址: http://localhost ...
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
先写我的思路,没有用指针的做法.如果你用的是VC,把第六行去掉. #include<stdio.h> #include<stdlib.h> int main() { setvb ...
- HTTP请求报文与响应报文
http://docs.telerik.com/fiddler/KnowledgeBase/HTTP HTTP请求报文与响应报文 HTTP http://www.w3.org/Protocols/rf ...
- Chp4: Trees and Graphs
1.Type of Tree 1. Binary Tree: a binary tree is a tree in which each node has at most two child node ...
- crontab 指定执行用户
linux下可以通过配置crontab来定时执行任务,执行体可以是一条系统命令或自己写的一个脚本,同时可以指派用户来执行.配置crontab有两种方法.方法1.使用crontab命令,例如添加一个新的 ...