MySQL int类型的字段怎么限制范围(年龄限制在0--120之间) MySQL int类型的字段怎么限制范围(年龄限制在0--120之间) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MYSQL中无法直接限制。你可以在触发器的BEFORE INSERT中检查。 -- mysql 的check约束只是一种装饰!只能用1楼的做法:触发器实现!-- 示例如下:mysql> create table user( -> uname varchar(30), -> sex char(5) CHECK (sex in( '男','女')), -> age int CHECK (age <= 120) -> );Query OK, 0 rows affected (0.06 sec)mysql> insert into user(uname,sex,age) values('luoyoumou','男',33);Query OK, 1 row affected (0.03 sec)mysql> insert into user(uname,sex,age) values('luoyoumou','男',133);Query OK, 1 row affected (0.03 sec)mysql> select * from user;+-----------+------+------+| uname | sex | age |+-----------+------+------+| luoyoumou | 男 | 33 || luoyoumou | 男 | 133 |+-----------+------+------+2 rows in set (0.01 sec)mysql> show create table user;+-------+--------------------------------------------------------------------------------------| Table | Create Table+-------+--------------------------------------------------------------------------------------| user | CREATE TABLE `user` ( `uname` varchar(30) default NULL, `sex` char(5) default NULL, `age` int(11) default NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8 |+-------+--------------------------------------------------------------------------------------1 row in set (0.00 sec) mysql数据库中全表扫描的问题??(急,急,急,急,急!!) MySQL 5.0数据库的最大连接数能否改为5000? 表合并问题 请问一下,怎样从数据库中随机取几条记录? mysql5.0存贮过程支持动态SQL语句吗? 在mysql>下使用什么命令到shell>帮忙。。。给分。。 有谁用过dreamweaver的site功能? 上载问题 大神救助 C# oledb方式连接mysql 查询报错 请教一下mysql-proxy在win平台下的安装配置 如何在线开启关闭slow log功能呢?
你可以在触发器的BEFORE INSERT中检查。
-- 示例如下:
mysql> create table user(
-> uname varchar(30),
-> sex char(5) CHECK (sex in( '男','女')),
-> age int CHECK (age <= 120)
-> );
Query OK, 0 rows affected (0.06 sec)mysql> insert into user(uname,sex,age) values('luoyoumou','男',33);
Query OK, 1 row affected (0.03 sec)mysql> insert into user(uname,sex,age) values('luoyoumou','男',133);
Query OK, 1 row affected (0.03 sec)mysql> select * from user;
+-----------+------+------+
| uname | sex | age |
+-----------+------+------+
| luoyoumou | 男 | 33 |
| luoyoumou | 男 | 133 |
+-----------+------+------+
2 rows in set (0.01 sec)mysql> show create table user;
+-------+--------------------------------------------------------------------------------------
| Table | Create Table
+-------+--------------------------------------------------------------------------------------
| user | CREATE TABLE `user` (
`uname` varchar(30) default NULL,
`sex` char(5) default NULL,
`age` int(11) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------
1 row in set (0.00 sec)