用sqlplus建表的时候怎么建立一个有2个字段联合做主键的表?

dahai99007 2008-08-20 09:52:26
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.
...全文
439 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbcxbj 2008-08-20
  • 打赏
  • 举报
回复
oracle联合主键的写法不是这样的
create table config 
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)

应该这么写
create table config 
(
name varchar2(20),
value varchar2(200),
configname varchar2(20),
primary key(name,configname)
)

catamite 2008-08-20
  • 打赏
  • 举报
回复
关键字是不能作为列名的
dahai99007 2008-08-20
  • 打赏
  • 举报
回复
谢谢楼上的哥们了,还有个问题比如说:
create table config
(
name varchar2(20),
value varchar2(200),
configname varchar2(20),
comment varchar2(20),
PRIMARY KEY(NAME,configname)
)
这个comment是个关键字,像sqlserver那样[comment]会报错,这该怎么办呢?
cosio 2008-08-20
  • 打赏
  • 举报
回复
题目看不认真,原来是建主键,我搞成索引了呵呵?
oracledbalgtu 2008-08-20
  • 打赏
  • 举报
回复
create table config 
(
name varchar2(20),
value varchar2(200),
configname varchar2(20),
PRIMARY KEY(NAME,configname)
)
[Quote=引用楼主 dahai99007 的帖子:]
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.
[/Quote]
cosio 2008-08-20
  • 打赏
  • 举报
回复
create unique index 名称 on 表名 (字段1,字段2.....)
[Quote=引用楼主 dahai99007 的帖子:]
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.
[/Quote]
dahai99007 2008-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 catamite 的回复:]
关键字是不能作为列名的
[/Quote]
create table config
(
name varchar2(20),
value varchar2(200),
configname varchar2(20),
"comment" varchar2(20),
PRIMARY KEY(NAME,configname)
)
这样来做就可以了.
谢谢各位了!
zhanminga 2008-08-20
  • 打赏
  • 举报
回复
create table config
(
t_name varchar2(20),
t_value varchar2(200),
t_configname varchar2(20),
t_comment varchar2(20),
PRIMARY KEY(t_name,t_configname)
)

不要拿关键字来做字段!
cosio 2008-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dahai99007 的回复:]
谢谢楼上的哥们了,还有个问题比如说:
create table config
(
name varchar2(20),
value varchar2(200),
configname varchar2(20),
comment varchar2(20),
PRIMARY KEY(NAME,configname)
)
这个comment是个关键字,像sqlserver那样[comment]会报错,这该怎么办呢?
[/Quote]

那就把那个关键字换成别的列名!

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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