一个外键约束的问题

cy527300280 2008-11-13 04:19:34
例如:
我创建三个表
学生表(学号、姓名、性别、专业)
成绩表(学号、成绩)
专业表(专业)

我把学生表里的专业专业表里的专业设为外键约束关系,
现在我想把 学生表里的学号成绩表里的学号设为外键约束关系
请问我 该怎么做?
...全文
55 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cy527300280 2008-11-13
  • 打赏
  • 举报
回复
知道了,谢谢
hyde100 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cy527300280 的回复:]
但是我已经在一个表里设了个主键,现在不能设了
[/Quote]
foreign key 这是外键,不是主键~
cy527300280 2008-11-13
  • 打赏
  • 举报
回复
但是我已经在一个表里设了个主键,现在不能设了
hyde100 2008-11-13
  • 打赏
  • 举报
回复

alter table 成绩表
add constraint my_con foreign key(学号) references 学生表(学号)
水族杰纶 2008-11-13
  • 打赏
  • 举报
回复
1)禁止所有表约束的SQL
select 'alter table '+name+' nocheck constraint all' from sysobjects where type='U'

2)删除所有表数据的SQL
select 'TRUNCATE TABLE '+name from sysobjects where type='U'

3)恢复所有表约束的SQL
select 'alter table '+name+' check constraint all' from sysobjects where type='U'

4)删除某字段的约束
declare @name varchar(100)
--DF为约束名称前缀
select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('表名') and b.id=a.cdefault and a.name='字段名' and b.name like 'DF%'
--删除约束
alter table 表名 drop constraint @name
--为字段添加新默认值和约束
ALTER TABLE 表名 ADD CONSTRAINT @name DEFAULT (0) FOR [字段名] 对字段约束进行更改
--删除约束
ALTER TABLE tablename
Drop CONSTRAINT 约束名
--修改表中已经存在的列的属性(不包括约束,但可以为主键或递增或唯一)
ALTER TABLE tablename
alter column 列名 int not null
--添加列的约束
ALTER TABLE tablename
ADD CONSTRAINT DF_tablename_列名 DEFAULT(0) FOR 列名
--添加范围约束
alter table tablename add check(性别 in ('M','F'))

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧