2016-05-05 48 views
1

说,我有表...的Oracle SQL:创建一个主键创建过场

Name  Null Type   
--------- ---- ------------ 
BOOK_CODE  VARCHAR2(26) 
AUTHOR_ID  NUMBER(2)  
SEQUENCE  NUMBER(1) 

它已经被创建,我将如何去制作BOOK_CODE主键?我能找到的唯一方法是删除该字段,然后将其替换,但我会丢失所有以这种方式放入的数据。

任何想法?

+0

似乎为我工作。 create table mytable(book_code varchar(26),author_id number(2),sequence number(1)); insert into mytable(book_code,author_id,sequence)values('a',1,1); ALTER TABLE mytable ADD CONSTRAINT PK_ID PRIMARY KEY(book_code); –

回答

2
ALTER TABLE <TABLENAME> ADD CONSTRAINT pk_book_code PRIMARY KEY(book_code); 

外键:

ALTER TABLE table_name 
ADD CONSTRAINT constraint_name 
    FOREIGN KEY (column1, column2, ... column_n) 
    REFERENCES parent_table (column1, column2, ... column_n); 
+0

我会怎么做forieng的关键?一样的方法? –

+0

真棒,我将如何能够看到我的钥匙是否设置正确? –

+0

您使用什么工具来运行脚本?如果您正在使用SQLPlus,则可以尝试以下查询:select * from SYS.USER_CONSTRAINTS。列出记录用户可以看到的所有约束。 –