SQL中怎樣在創建表的同時創建約束
使用sqlserver 2005,手動將表和約束建立好保存,在表上點右鍵,編寫腳本 到新建查詢窗口自己看就行了 其他腳本也可以使用該方法
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語句添加外鍵約束。
主表Grade從Student表通過GradeId列建立關系...(-- -- 外鍵約束懵了...書上也有就是看不懂...請大神講的詳細點..謝謝,萬分感謝..)外鍵關系通俗來講就是將兩個表關聯起來用的
以學生和班級來舉例子
新建一個學生表student
新建一個班級表 grade
然后每個學生,都對應一個班級,比如學生A是X班,學生B也是X班,就沒必要在學生表里面存儲重復的班級名稱,因此需要一個班級表
只要存儲一個班級表的id,就可以記錄該學生班級的所有詳細信息了
關聯起來顯示就是:
select * from student, grade where student.gradeId = grade.id
通過外鍵關聯,顯示學生信息和班級信息的所有數據,并根據外鍵進行一一匹配
在SQL中如何創建外鍵約束?
添加外鍵
,alter
table
b
語法: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是外鍵約束名,不能重復,也不能是int類型(如1,2,3)
add
constraint
cc
--b表里的需要約束的字段(id)
foreign
key
(id)
--a表后的(id)可省略
references
a
(id)
可以用創建關系圖的方式進行約束,步驟如下
企業管理器中打開數據庫,新建關系圖,選出自己所要的幾張表,然后將對應的外鍵用鼠標連接到另一張表的主鍵上就行了
ps
環境
sql2000
T-SQL語句創建表同時創建外鍵的問題
為什么會這樣?我已經建立了表student,但是無法引用,一定要是主鍵嗎?
那正確的語句應該怎么寫呢TAT....急...在線等
語法問題啊
spno varchar(50) (這個類型要與外鍵類型一致) CONSTRAINT fk_spno foregin key references student(cno)
用SQL語句創表的同時寫外鍵
外鍵一定要是二個表;
例子如下:
CREATE TABLE outTable{
id int,
primaiy key(id)
}創建含有外鍵的表:
create table temp
(
id int,
name varchar(20)
)
ALTER TABLE temp ADD
constraint wc
foreign key (id)
references outTable(id)
on update cascade
相關推薦:
電子合同糾紛解決(簽電子合同糾紛怎么解決)
現戶籍所在地怎么填寫(戶籍所在地怎么填寫)
超生新生兒如何上戶(超生如何給孩子上戶口)
行政處罰會留案底嗎(行政處罰決定書會留案底嗎)
公民如何保護生命健康權(法律如何保護我們的健康)