SQL中怎樣在創(chuàng)建表的同時(shí)創(chuàng)建約束
使用sqlserver 2005,手動(dòng)將表和約束建立好保存,在表上點(diǎn)右鍵,編寫(xiě)腳本 到新建查詢窗口自己看就行了 其他腳本也可以使用該方法
create table A
(
Id int primary key identity,
names nvarhcar(50),
foreign key(Id) references B(Id) --b表的id作為a表的外鍵
)
create table B
(
Id int primary key identity,
names
)
sql語(yǔ)句添加外鍵約束。
主表Grade從Student表通過(guò)GradeId列建立關(guān)系...(-- -- 外鍵約束懵了...書(shū)上也有就是看不懂...請(qǐng)大神講的詳細(xì)點(diǎn)..謝謝,萬(wàn)分感謝..)外鍵關(guān)系通俗來(lái)講就是將兩個(gè)表關(guān)聯(lián)起來(lái)用的
以學(xué)生和班級(jí)來(lái)舉例子
新建一個(gè)學(xué)生表student
新建一個(gè)班級(jí)表 grade
然后每個(gè)學(xué)生,都對(duì)應(yīng)一個(gè)班級(jí),比如學(xué)生A是X班,學(xué)生B也是X班,就沒(méi)必要在學(xué)生表里面存儲(chǔ)重復(fù)的班級(jí)名稱,因此需要一個(gè)班級(jí)表
只要存儲(chǔ)一個(gè)班級(jí)表的id,就可以記錄該學(xué)生班級(jí)的所有詳細(xì)信息了
關(guān)聯(lián)起來(lái)顯示就是:
select * from student, grade where student.gradeId = grade.id
通過(guò)外鍵關(guān)聯(lián),顯示學(xué)生信息和班級(jí)信息的所有數(shù)據(jù),并根據(jù)外鍵進(jìn)行一一匹配
在SQL中如何創(chuàng)建外鍵約束?
添加外鍵
,alter
table
b
語(yǔ)法:alter
table
表名
add
constraint
外鍵約束名
foreign
key(列名)
references
引用外鍵表(列名)
如:
alter table stu_pkfk_sc
add constraint fk_s
foreign key (sno)
references stu_pkfk_s(sno)--cc是外鍵約束名,不能重復(fù),也不能是int類(lèi)型(如1,2,3)
add
constraint
cc
--b表里的需要約束的字段(id)
foreign
key
(id)
--a表后的(id)可省略
references
a
(id)
可以用創(chuàng)建關(guān)系圖的方式進(jìn)行約束,步驟如下
企業(yè)管理器中打開(kāi)數(shù)據(jù)庫(kù),新建關(guān)系圖,選出自己所要的幾張表,然后將對(duì)應(yīng)的外鍵用鼠標(biāo)連接到另一張表的主鍵上就行了
ps
環(huán)境
sql2000
T-SQL語(yǔ)句創(chuàng)建表同時(shí)創(chuàng)建外鍵的問(wèn)題
為什么會(huì)這樣?我已經(jīng)建立了表student,但是無(wú)法引用,一定要是主鍵嗎?
那正確的語(yǔ)句應(yīng)該怎么寫(xiě)呢TAT....急...在線等
語(yǔ)法問(wèn)題啊
spno varchar(50) (這個(gè)類(lèi)型要與外鍵類(lèi)型一致) CONSTRAINT fk_spno foregin key references student(cno)
用SQL語(yǔ)句創(chuàng)表的同時(shí)寫(xiě)外鍵
外鍵一定要是二個(gè)表;
例子如下:
CREATE TABLE outTable{
id int,
primaiy key(id)
}創(chuàng)建含有外鍵的表:
create table temp
(
id int,
name varchar(20)
)
ALTER TABLE temp ADD
constraint wc
foreign key (id)
references outTable(id)
on update cascade
相關(guān)推薦:
離婚辦理分戶(離婚后如何辦理戶口分戶)
離婚租房分戶(離婚后租房住戶口怎么辦)
取保候?qū)忛_(kāi)戶籍證明嗎(取保候?qū)徯枰獞艏C明嗎)
離婚女方搬家(在離婚之后 女方需要把戶口遷出去嗎)
再次拍賣(mài)賠償(全損車(chē)為什么拍賣(mài)后再賠償)