`
fanjf
  • 浏览: 295971 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

关于MYSQL 检查check约束

 
阅读更多

MYSQL 目前版本貌似不支持 SQL标准的 检查约束(check);

SQL如:

ALTER TABLE emp ADD CONSTRAINT ck_emp_sex CHECK
(sex ='男' OR sex='女');

 

CHECK子句会被分析,但是会被忽略。请参见13.1.5节,“CREATE TABLE语法”。接受这些子句但又忽略子句的原因是为了提高兼容性,以便更容易地从其它SQL服务器中导入代码,并运行应用程序,创建带参考数据的表。请参见1.8.5节,“MySQL与标准SQL的差别”。

 

但使用过程往往需要MYSQL 提供类似check约束的DDL语句;

 

可以使用SQL枚举值:

ALTER TABLE emp MODIFY sex ENUM("男","女");

 

1 查询雇员表:

SELECT * FROM emp;

empno  ename         deptno  sal   sex 
1      张三        10      2000  女 
2      李四        10      3000  男 
3      xiaohong      10      4000  男 
4      杨国        10      5000  男 
5      苏三        20      8000  男  
 

2 修改雇员编号1 的性别为 人妖;

UPDATE emp SET sex ='人妖' WHERE empno =1 ; 

 

执行结果:

(1 row(s) affected, 1 warning(s))
Execution Time : 00:00:00:156
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:156

Note : To see complete list of warning(s), enable Tools -> Preferences -> General -> Show Warning(s) in Messages Tab

 

3 再次查询

empno  ename         deptno  sal   sex 
1      张三        10      2000      
2      李四        10      3000  男 
3      xiaohong      10      4000  男 
4      杨国        10      5000  男 
5      苏三        20      8000  男 

雇员编号为1 的张三 性别为 空;

 

4 插入语句

INSERT INTO emp VALUE ('张飞', 10, 3000, '人妖');

 

Query : insert into emp value ('张飞', 10, 3000, '人妖')
Error Code : 1136
Column count doesn't match value count at row 1
Execution Time : 00:00:00:000
Transfer Time  : 00:00:00:000
Total Time     : 00:00:00:000

 

报错切插入失败!

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 fanjf 2014-04-13  
为什么 update 不报错,结果为空?

相关推荐

    MySql 5.1 参考手册.chm

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 ...

    MySQL 5.1参考手册

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装...

    MySQL 5.1中文手冊

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 ...

    MySQL 5.1参考手册中文版

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装...

    MySQL 5.1参考手册 (中文版)

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 ...

    mysql数据库的基本操作语法

    MySQL不支持check约束,但可以使用check约束,而没有任何效果; 根据约束数据列限制,约束可分为: 单列约束:每个约束只约束一列 多列约束:每个约束约束多列数据 MySQL中约束保存在information_schema数据库的...

    MYSQL中文手册

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. ...

    MySQL 5.1官方简体中文参考手册

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 ...

    mysql5.1中文手册

    MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 ...

    mysql官方中文参考手册

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 ...

    基于MySQL数据库的数据约束实例及五种完整性约束介绍

    为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,...#CHECK :检查,指定一个布尔表达式,用于指定对应的值必须满足该表达式(mysql不支持

    MySQL5.1参考手册官方简体中文版

    1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 ...

    6天掌握MySQL基础–day5

    文章目录DDL语言(接day4)常见约束标识列TCL语言事务视图 复习 day4的学习内容 DDL语言(接day4) 常见约束 含义:一种限制,用于限制表...CHECK:检查约束【mysql中不支持】 比如年龄、性别 FOREIGN KEY:外键,用于限

    mysql 常用数据库语句 小练习

    PROCEDURE存储过程 事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue 主键 primary key 标识列 identity 外键 foreign key 检查 check 约束 constraint ———————————————

    SQL培训第一期

    check约束:检查约束,check约束通过约束条件表达式设置列值应该满足的条件。 1.5 范式 1.5.1 第一范式 1.5.1.1 规范 无重复的列,确保每列保持原子性,即数据库表中的所有字段值都是不可分解的原子值。 1.5.1.2 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等  语法结构 create table 表名( [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) ...

Global site tag (gtag.js) - Google Analytics