2016-05-05 75 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。列出記錄用戶可以看到的所有約束。 –