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

Mysql sql语句写约束性别只能为男或女,第1张

Innodb存储引擎支持FOREIGN KEY和REFERENCES子句。Innodb存储引擎执行ADD [CONSTRAINT [symbol]] FOREIGN KEY (...) REFERENCES ... (...)。请参见15.2.6.4节,“FOREIGN KEY约束”。对于其它存储引擎,这些子句会被分析,但是会被忽略。对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。

手册上注明:对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。

也就是check是无效的,你可以用程序去实现,或者通过外键进行约束

例子:

CREATE TABLE t_user (

id INT(11) NOT NULL AUTO_INCREMENT,

sex CHAR(2) default 'M' CHECK (sex in('M','F')),

PRIMARY KEY (id))

这个要么就是你自己录入数据时注意,要么就是再建一个table,里面只有两行,男和女,然后让之前那个table的性别列作为新建table的外键就行,不过没必要这么麻烦。还有一种方法就是写约束,check(sex=‘M’ || sex='F'),不过不知道phpmyadmin中行不行,一般功能强大的都是oracle


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6180171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存