数据库如何建立联合主键

比如:--1)createtableT_Student(Fsonchar(10)primarykey,--学号Fsnamenvarchar(10)notnull,--姓名... 比如:
--1)
create table T_Student(
Fson char(10) primary key,--学号
Fsname nvarchar(10) not null,--姓名
Fssex nchar(1) check(Fssex in('男','女')),--性别
Fsage int check(Fsage between 15 and 45),--年龄
Fsdept nvarchar(20) default '计算机系'--所在系
)
create table T_Course(
Fcno char(10) primary key,--课程号
Fcname nvarchar(20) not null,--课程名
Fccredit int check(Fccredit>0),--学分
Fsemster int check(Fsemster>0),--学期
Fperiod int check(Fperiod>0)--学时
)
create table T_Sc(
Fsno char(10) foreign key(Fsno) references T_student(Fson),--学号
Fcno char(10) foreign key(Fcno) references T_Course(Fcno),--课程号
Fgrade int check(Fgrade between 0 and 100),--成绩
primary key(Fsno,Fcno)--这一句有误
)
我想让T_Sc这个表的Fsno和Fcno作为主键,两个值不能同时重复
比如:
9512101 C01
9512101 C02
这是合法的
9512101 C01
9512101 C02
这是非法的
这应当如何创建(用sql语句sql server环境)。
展开
 我来答
百度网友14e7cc3
2011-10-02 · TA获得超过205个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:176万
展开全部
直接进入企业管理器,选择数据库磨郑裂,找到表点设计表。然后按住CTRL选中要设为主键的值,瞎闭然后右键选择设丛宏为主键(确认数据库中不存在跟主键冲突的数据)
追问
这样设定的主键与要求不一样啊。我想让两个字段不同时重复(这种方法我试过了,不行)
另外,能给sql语句版的么?
追答
ALTER TABLE T_Sc ADD PRIMARY KEY (Fsno,Fcno);
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
767362651
2018-03-24
知道答主
回答量:1
采纳率:0%
帮助的人:881
展开全部
不行,是因为表中对应列已经存在重复值。先导出数据,创建好后再导入数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式