2017-06-07 72 views
-1

我想知道如何將新的數據插入到具有一個主鍵的另一個外鍵的Doctor表中。將數據插入到具有一個主鍵的表中,使用查詢的另一個外鍵

例如,我爲以下人員表添加了值,請告訴我它是如何在Doctor Table上完成的。提前

create table Doctor(
    DoctorID char(6) Primary Key, 
    MedicalDegrees varchar(20), 
    PersonID int not null REFERENCES Person (PersonID), 
    check(DoctorID like '[a-z][a-z][0-9][0-9][0-9][0-9]')); 

create table Person(
    PersonID int Primary Key, 
    FirstName varchar(15), 
    LastName varchar(15), 
    StreetAddress varchar(25), 
    City varchar(15), 
    State varchar(2), 
    Zip varchar(5), 
    PhoneNumber varchar(10), 
    SSN varchar(9) UNIQUE); 

insert into person values('1', 'John', 'Smith', '2343 sdf', 'Tacoma', 'WA', 98001, 5268964563, 564657415) 

由於大部分

+0

您像插入數據一樣插入數據,您只需確保您要使用的外鍵實際存在於Person表中。 –

+0

我嘗試了很多次,但我沒有得到正確的語法,這就是爲什麼我問。 – JOe

+0

這是相同的語法,有一個外鍵的主鍵不會改變語法,再加上,如果你嘗試了很多次,你可以發佈你的一個嘗試嗎? –

回答

0

你說的如何將數據添加到醫生表是什麼意思?
就像您將記錄添加到人員表格一樣,您可以將記錄添加到Doctor表格中。
由於Doctor表具有人員表的引用列,因此您必須先將人員表中的記錄插入Doctor表中,並且Doctor表中的PersonId值必須存在於Person表中。
請在將數據插入參考表時添加查詢和問題。

0

我不知道爲什麼你認爲你需要一個不同的查詢插入數據到一個同時具有主鍵和外鍵的表中,查詢不會根據表設計而改變。

由於您已在您的問題中發佈了一條查詢,我們將使用它將數據插入到Doctor表中。

您所查詢的是:

insert into person values('1', 'John', 'Smith', '2343 sdf', 'Tacoma', 'WA', 98001, 5268964563, 564657415) 

根據這個查詢,現在你有一個id = 1Person表中的數據。爲此,現在你可以將數據插入到表Doctor像這樣:

Insert INTO Doctor Values('1','Brain Damage','1') 

我們的外鍵使用的1是我們插入Person表中的一個。
請注意,您將無法將數據插入Doctor表中,因爲它是Foreign key且它必須存在,所以Person表中不存在無效的PersonId

+0

謝謝,我想知道如何處理主鍵數據而不插入任何東西(如果這是auto_increment)。 – JOe

+0

如果它是auto_increment,則不必插入它,它會自行插入。您也可以正常選擇它,或者按照它的標準進行搜索 –

相關問題