关于主码的问题

cockroachzl 2005-10-22 11:57:47
如果主码是(name,age,sex)那么是不是 只要这3个属性只要有1个不同就可以存在呢
例如(aaa,25,male)和(bbb,25,male)是不是可以同时存在在这个表中?
还有创建这个表的 SQL语句怎么写呢?primary key只能声明一个属性是主码啊!

谢谢了!
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cockroachzl 2005-10-23
  • 打赏
  • 举报
回复
谢谢,结贴了
iwl 2005-10-23
  • 打赏
  • 举报
回复
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO

CREATE TABLE [dbo].[test] (
[a] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[b] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[c] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[d] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[test] ADD
CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED
(
[a],
[b]
) ON [PRIMARY]
GO

或者可以在表的设计模板里面同时选中这三列就可以了
rivery 2005-10-23
  • 打赏
  • 举报
回复
是的。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO

CREATE TABLE [dbo].[test] (
[a] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[b] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[c] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[d] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[test] ADD
CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED
(
[a],
[b]
) ON [PRIMARY]
GO

34,590

社区成员

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

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