fpbl.net
当前位置:首页 >> sql建表时创默认值约束,这个语句哪里错了? >>

sql建表时创默认值约束,这个语句哪里错了?

create table stu_con(sex char(2) default '男复')这是建表制时候的默认知约束 如果已道经建立,要新加 alter table stu_con add constraint df_sex default '男' for sex

CREATE TABLE 表 ( 字段名称 varchar(4) default('设定的默认值'))

不是吧~好像是创建表的时候设置字段不能为NULL值, 但是在insert记录的时候插入了空值?楼主自己试试看吧.

我晕,你的Int(500)太吓人了吧?我用这么久还从没看见人有用这种格式的.,直接用int就行了.还有,primary后面要加个Key,自动编号的话,加上identify.create table test ( id int primary key, a varchar(50), b varchar(50), c varchar(50) )

SQL Server中我们建立完毕数据库之后,在我们添加数据的时候呢.我们的有些数据是不必要填写的或者说是,有些信息是一样的,这里我们就需要对数据库中的那一列添加一个默认约束,表名这一列在没有添加数据的时候呢是可以自动添加你

最后的 for upassword去掉就行了

mysql> create table `message1`( -> `id` tinyint(1) not null auto_increment, -> `user` varchar(25) not null, -> `title` varchar(50) not null, -> `content` tinytext not null, -> `lastdate` date not null, -> primary key (`id`) -> ) engine=innodb default charset=gbk

1.alter table tablename add ( constraint pk_studentno primary key (studentno)), constraint pk_studentno ckc_studentno (studentno like 's253__')2.alter table tablename add ( constraint ckc_age check (age between 15 and 50))3得想想

首先,搞不懂你下面说的是什么意思:“要求是 不能这样写 insert into test (行名) values ('测试a','测试b') ”默认值是针对列的,而不是行.而insert 是插入一整行.你上面的一句本来就是错误的.如果你希望的是:插入行时,如果某列有默认值,则不指定该列的值,而且既然已经知道第三列有默认值,那就简单了,insert into test(列1,列2) values ('测试a','测试b') 就可以.如果事先不知道哪列上有默认,那么一条语句是实现不了,需要先判断是否有默认,然后再插入.

create table AAAxxx(ssid int primary key,sex char(2) default '男'constraint ck_sex check(sex in ('男','女')));

网站首页 | 网站地图
All rights reserved Powered by www.fpbl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com