SQL

mystery1004 2010-07-31 07:12:37
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)


CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)
)

uc_PersonID 是什么?
...全文
156 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
berxk 2010-08-11
  • 打赏
  • 举报
回复
学习了,貌似8楼的同学说的很对!
wve 2010-08-11
  • 打赏
  • 举报
回复
学习学习
shaccpsh 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wzx168love 的回复:]
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
上面语句是设置唯一约束,Oracle unique约束其实就是用来保证其表里的某一类,或是使表中的某一类 组合起来时不重复的一种手段。uc_PersonID 为自定义的约束名...


CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)
……
[/Quote]


这个观点是对的, 主键必定是唯一的, 唯一约束不一定是主键
mystery1004 2010-08-11
  • 打赏
  • 举报
回复
ALTER TABLE Persons
DROP PRIMARY KEY
ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)
wzx168love 2010-08-01
  • 打赏
  • 举报
回复
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
上面语句是设置唯一约束,Oracle unique约束其实就是用来保证其表里的某一类,或是使表中的某一类 组合起来时不重复的一种手段。uc_PersonID 为自定义的约束名...


CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)
上面语句是设置联合主键,而uc_PersonID是联合主键的名字..
proorck6 2010-08-01
  • 打赏
  • 举报
回复
同意一楼观点
怪人伽利略 2010-07-31
  • 打赏
  • 举报
回复
CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)
是这主键的名字
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
这是外键的名字
coolbamboo2008 2010-07-31
  • 打赏
  • 举报
回复
uc_PersonID是混合主键吧
后面那两个组合的
mystery1004 2010-07-31
  • 打赏
  • 举报
回复
CREATE INDEX PersonIndex
ON Person (LastName)

CREATE INDEX PersonIndex
ON Person (LastName, FirstName)
Jclick 2010-07-31
  • 打赏
  • 举报
回复
uc_PersonID在第一个例子里边只是一个约束名字,指定后边两个值是唯一的。。
第二个是联合主键的名字。本质没太大区别。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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