日期:2014-05-16  浏览次数:20884 次

MYsql 怎么约束列的取值范围
CREATE TABLE user (
id int auto_increment primary key,
no varchar(20),
password CHAR(6),
name varchar(6),
money int(25),
k_id char(2)
);
比如我这需要约束 name长度为6到20;
no为11位;

------解决方案--------------------
无法约束 mysql没有check属性
------解决方案--------------------
mysql不支持约束的。check
------解决方案--------------------
MYSQL中不支持CHECK。 需要用触发器实现。

http://blog.csdn.net/acmain_chm/article/details/4380183

MySQL 中如何在触发器里中断记录的插入或更新?
MySQL 不象其它有些数据库可以在触发器中抛出异常来中断当然触发器的执行以阻止相应的SQL语句的执行。在MySQL的目录版本中还无法直接抛出异常。这样我们如何实现呢? 下面是一种实现的方法。思路就是想办法在触发器中利用一个出错的语句来中断代码的执行。 mysql> create table t_control(id int primary key);Query OK, 0 row...