插入表记录

chenwei1108 2009-12-04 11:40:38
表结构如下
ScoreID int identity,
StudentID varchar(10) not null,
CourseID int not null,
Score real not null

大虾们,有哪些方法可以实现某科目某生的成绩记录只有一条?换言之,如何保证某生某科成绩已经被录入后再录入时可以报错?
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenwei1108 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dawugui 的回复:]
引用楼主 chenwei1108 的回复:
表结构如下
ScoreID int identity,
StudentID varchar(10) not null,
CourseID int not null,
Score real not null

大虾们,有哪些方法可以实现某科目某生的成绩记录只有一条?换言之,如何保证某生某科成绩已经被录入后再录入时可以报错?


Stu……
[/Quote]
现在学了数据库原理,回头来看,这个应该算最好的办法。谢谢!
dawugui 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 chenwei1108 的回复:]
表结构如下
ScoreID  int identity,
StudentID varchar(10) not null,
CourseID int not null,
Score real not null

大虾们,有哪些方法可以实现某科目某生的成绩记录只有一条?换言之,如何保证某生某科成绩已经被录入后再录入时可以报错?

[/Quote]
StudentID学生ID
CourseID科目ID
StudentID + CourseID 做联合主键即可.
bancxc 2009-12-04
  • 打赏
  • 举报
回复
CREATE TABLE doc_exa ( column_a INT) 
GO
ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL
GO

alter table doc_exa
add CONSTRAINT U_store UNIQUE NONCLUSTERED (column_b)
select * from doc_exa

insert into doc_exa values(1,'001')
insert into doc_exa values(1,'001')
服务器: 消息 2627,级别 14,状态 2,行 1
违反了 UNIQUE KEY 约束 'U_store'。不能在对象 'doc_exa' 中插入重复键。
语句已终止。
bancxc 2009-12-04
  • 打赏
  • 举报
回复
CONSTRAINT U_store UNIQUE NONCLUSTERED (stor_name, city)
bancxc 2009-12-04
  • 打赏
  • 举报
回复
创建和修改 UNIQUE 约束

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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