当前位置: 代码迷 >> Oracle开发 >> 用sqlplus建表的时候如何建立一个有2个字段联合做主键的表
  详细解决方案

用sqlplus建表的时候如何建立一个有2个字段联合做主键的表

热度:45   发布时间:2016-04-24 07:43:29.0
用sqlplus建表的时候怎么建立一个有2个字段联合做主键的表?
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.

------解决方案--------------------
create unique index 名称 on 表名 (字段1,字段2.....)
引用楼主 dahai99007 的帖子:
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.

------解决方案--------------------
SQL code
create table config ( name varchar2(20), value varchar2(200), configname varchar2(20),PRIMARY KEY(NAME,configname))
------解决方案--------------------
关键字是不能作为列名的
------解决方案--------------------
oracle联合主键的写法不是这样的
SQL code
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),
comment varchar2(20),
PRIMARY KEY(NAME,configname)
)
这个comment是个关键字,像sqlserver那样[comment]会报错,这该怎么办呢?

------解决方案--------------------
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)


不要拿关键字来做字段!