十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
例子:
永州网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
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
这个应该是字符集编码的问题。你用utf8连上数据库试试看
mysql --default-charset=utf8 -h主机 -P端口 -p密码
还有哥们,建表的时候选择合适的数据类型能够节约空间的,那个age完全没有必要用int,用tinyint就完全够了,还没有人能活到255岁的,int占4个字节,tinyint占1个字节,这样节约磁盘空间
还有sex性别可以用枚举类型,非男即女或再加一个其他值
对于加auto_increment字段,请加上not null限制
create table 表名
(
sex char(2) check(sex='男' or sex='女') not null
)
默认性别为男的代码如下:
create table 学生表
(
学号 char(5) not null primary key,
姓名 varchar(10) not null,
性别 char(2) default '男' check (性别 in ('男','女')) //其中default '男' 就是默认性别为男。
)
扩展资料:
使用其他方法限制性别只能写男或女:
ALTER TALBE [表名]
ADD CONSTRAINT 约束名 CHECK(列名 in ('男', '女')) not null
注意:CHECK 约束可以应用于一个或者多个列,也可以将多个CHECK 约束应用于一个列。
当除去某个表时,对这个表的CHECK 约束也将同时被去除。
参考资料:百度百科-check约束
Innodb存储引擎支持FOREIGN KEY和REFERENCES子句。Innodb存储引擎执行ADD [CONSTRAINT [symbol]] FOREIGN KEY (...) REFERENCES ... (...)。请参见15.2.6.4节,“FOREIGN KEY约束”。对于其它存储引擎,这些子句会被分析,但是会被忽略。对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。
手册上注明:对于所有的存储引擎,CHECK子句会被分析,但是会被忽略。
也就是check是无效的,你可以用程序去实现,或者通过外键进行约束
create table 学生表(学号 char(10) primary key,
姓名 char(10) not null,
性别 char(2) check(性别 in('男','女')),
系 varchar(20) check(系 in('信息系','计算机科学系','数学系','管理系','中文系','外语系','法学系')),
年龄 int check(年龄 between 0 and 100))