Mysql sql语句写约束性别只能为男或女

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql sql语句写约束性别只能为男或女相关的知识,希望对你有一定的参考价值。

create table biao(
sex varchar(12) not null check(sex='男' or sex='女')
);

求修改

Innodb存储引擎支持FOREIGN KEY和REFERENCES子句。Innodb存储引擎执行ADD [CONSTRAINT [symbol]] FOREIGN KEY (...) REFERENCES ... (...)。请参见15.2.6.4节,“FOREIGN KEY约束”。对于其它存储引擎,这些子句会被分析,但是会被忽略。对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。
手册上注明:对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。
也就是check是无效的,你可以用程序去实现,或者通过外键进行约束
参考技术A sex varchar(12) not null check(sex in (‘男’,‘女’)),试一试。不用那么长,用char(2)就好,定长的数据用char比较好。 参考技术B mysql不是有enum这个数据类型么?
create table biao(
sex enum('男','女') not null;
);本回答被提问者和网友采纳

如何用sql语句对性别的 约束条件让它只能填 男 或 女

ALTER   TABLE   tb   WITH   NOCHECK    
  ADD   CONSTRAINT   col1_check   CHECK   (性别 in('男','女')) 

以上是关于Mysql sql语句写约束性别只能为男或女的主要内容,如果未能解决你的问题,请参考以下文章