sql 同一個列設置兩個外鍵
比如我有個‘商品表’其中‘賣家賣家列’要引用外鍵‘店家表主鍵’和‘客戶表主鍵’(可以是客戶賣給店家,也可以是店家賣給客戶),請問我如何設置外鍵可以做到‘商品表’中‘買家賣家列’中必須填寫‘店家表主鍵’或者‘客戶表主鍵’?rnrn我試過了同事設置一列引用兩個主鍵。。但是結果是必須同時符合兩個表的外鍵關系。。。如何做到或者的關系=。=不好意思我不是來解答的,我是想知道添加字段或者觸發器要怎么寫,我菜鳥來的,非常謝謝!
如果想通過創建外鍵的方式解決,很難,因為外鍵默認的就是“與”的關系,你可以試試自定義約束的方式,看能不能增加你要的約束。
龍and迪說的增加字段也是一種很好的解決辦法,數據庫設計中通過增加冗余字段能夠解決很多問題。
不必這么糾結,在添加個字段吧、
為數據庫添多個表加約束
如圖所示,在同一個數據庫(007)中有好幾個表,如何添加約束,讓mm表中的一行數據刪除時,其他幾個表中只要有和mm表中XueHao一樣的字段的數據,一起消失(整個行,而不是單指XueHao)
創建SQL的主鍵和外鍵約束的方法:--在創建表時就可以對字段加上約束:
create table Buy(buyo int PRIMARY KEY, username varchar(20) FOREIGN KEY REFERENCES Users(username) NOT NULL, goodsno char(5) FOREIGN KEY REFERENCES Goods(goodsno) NOT NULL, quantity int CHECK(quantity >0 ) , buydate DATETIME)
create table Buy(buyo int PRIMARY KEY,
username varchar(20) FOREIGN KEY REFERENCES Users(username) NOT NULL,
goodsno char(5) FOREIGN KEY REFERENCES Goods(goodsno) NOT NULL,
quantity int CHECK(quantity >0 ) ,
buydate DATETIME)
sql數據庫中同一字段怎么添加多個外鍵約束呀 ? 具體如圖 謝謝大神啦
有沒有大神呀... 有沒有大神呀 展開多個字段為外鍵,如下所示,成績表中學號和課程編號是外鍵,分別和學生表和課程表連接,代碼如下:
create
table
成績表
(學號
varchar(20)
not
null
constraint
fk_學號
foreign
key
references
學生表(學號),
課程編號
varchar(20)
not
null
constraint
fk_課程編號
foreign
key
references
課程表(課程編號)
constraint
pk_學號_課程編號
primary
key
clustered(學號,課程編號),
成績
real
null
)
誰知道數據庫中添加各種約束的SQL語句的寫法啊,求示例,請高手幫忙?。。?!
要是向多個表插入數據的話,最好在一個表中建個觸發器,當對該表進行插入操作時,同時向其它表中也插入相應的數據信息.
當然可以,但是這樣的話如果你要向10個表中插入同樣的數據就就得寫10條插入語句
insert
into
[表名]
(字段名1,字段名2,.....)
values
(值1,值2,...)
每個表的字段如果不一樣的話,上面語句中的內容也不一樣.
語法:
alter
table
表名
add
constraint
約束名
具體約束類型
字段名
例如給表A的字段StuNo添加一個主鍵約束(簡寫PK)
alter
table
A
add
constraint
PK_StuNo
primary
key(StuNo)
例如給表A的字段Sex添加一個檢查約束(簡寫CK)
alter
table
A
add
constraint
CK_Sex
check(Sex>18
and
Sex<40)
例如給表B的字段StuNo添加一個外鍵約束(簡寫FK)
外鍵是來自于A表的主鍵
alter
table
B
add
constraint
FK_StuNo
foreign
key(StuNo)
references
A(StuNo)
基本五個約束的語法就這樣、很簡單的
注意一點:上面那個約束名首先是約束類型的簡寫,例如PM_、FK_、CK_等、后面可以自己定義
在這里我為了好區分是那個字段的約束我就寫的哪個字段名了,希望你能看懂~
數據庫,怎么在表中的一列添加兩個約束!如圖buy表!
創建SQL的主鍵和外鍵約束的方法:
--在創建表時就可以對字段加上約束:
create table Buy(buyo int PRIMARY KEY,
username varchar(20) FOREIGN KEY REFERENCES Users(username) NOT NULL,
goodsno char(5) FOREIGN KEY REFERENCES Goods(goodsno) NOT NULL,
quantity int CHECK(quantity >0 ) ,
buydate DATETIME)
相關推薦:
電子合同糾紛解決(簽電子合同糾紛怎么解決)
現戶籍所在地怎么填寫(戶籍所在地怎么填寫)
超生新生兒如何上戶(超生如何給孩子上戶口)
行政處罰會留案底嗎(行政處罰決定書會留案底嗎)
公民如何保護生命健康權(法律如何保護我們的健康)