我在SQL SERVER 2019中建立表時,如果建立外來鍵的話會出錯,為什麼啊?希望您能幫助我

時間 2022-05-04 20:43:32

1樓:erp小

create table userinfo(userid int identity(1,1) primary key, --遞增主鍵

useraccounts varchar(20),username varchar(20),userpwd varchar(10))

create table news(

newsid int identity(1,1) primarykey,

userid int,

newstitle varchar( 50 ),newsrelease varchar( 200 ),newsreleasetime datetime,foreign key (userid) references userinfo(userid)) --外來鍵約束

你看下這個,就知道**有問題了。

2樓:匿名使用者

constraint 約束名稱(外來鍵約束通常為pk_***)foreign key(cpon) references 被參照表名字(被參照字段)

sql server 2008中的建立表時,如何建立外來鍵。

3樓:匿名使用者

create table good(name_id 資料型別及長度 foreign key references name(name_id),user_id 資料型別及長度 foreign key references user(user_id),salary int)

4樓:

在需要建立外來鍵的表點 右鍵-->關係

5樓:匿名使用者

sqlserver:

alter table [good]

add constraint fk_good_userid foreign key ([user_id])

references [user] ([userid])alter table [good]

add constraint fk_good_nameid foreign key ([name_id])

references [name] ([nameid])

sql server怎樣建立主外來鍵關係

6樓:海天盛

sqlserver怎樣建立主外來鍵關係的方法。

如下參考:

1.為了幫助你理解,用乙個例子來幫助你理解。它基本上是指通過引用表2中的字段來約束表1中的字段。

2.有兩個表,第乙個表建立外來鍵表,因為第乙個外來鍵,主鍵可以被引用。首先建立資料庫,然後建立乙個新的查詢。

3.建立乙個新的外來鍵表[teacher],然後輸入命令:createtableteacher。

新增teacher_xingming的必填字段,並將其設定為[主鍵]。nchar(10)主鍵,

4.選擇需要執行的命令列,點選[execute],在底部會有成功或失敗的提示。現在,在對錶執行重新整理操作之後,您將發現乙個新錶已經成功建立[teacher]。

5.接下來,建立表student(student_xingmingnchar(10)主鍵不為空)。

6.繼續寫,型別:student_banjinchar(10)notnull,——乙個新的[student_banji欄位,型別nchar(10),不允許為空。]

7,建立乙個外來鍵,輸入命令student_jiaoshinchar(10)外來鍵引用老師(teacher_xingming)看起來很長,實際的意思很簡單:在表中建立乙個新的(student_jiaoshi欄位),它是乙個外來鍵,nchar(10)型別,teacher_xingming的內容。

8.選擇,點選【執行】,沒有錯誤,即為成功。重新整理表,看看是否有額外的表[student]?已經建立了所有約束。

9.讓我們看看我們是否真的能做我們說過的。開啟教師表,填寫「劉老師」。開啟【學生表】,任意填寫前面,最後填寫「劉老師」,沒有錯誤是可以的。

10.如何測試約束是否真的有效,填寫其他內容看看是否成功?只要它不在教師欄中),它就會報錯。

7樓:文件類共創空間

1、要建立外來鍵關係,首先要保證用來建立外來鍵關係的列具有唯一性,即具有 unique 約束,通常是某錶的主鍵作為另外乙個表的外來鍵;

2、開啟資料庫表,找到要建立外來鍵的表。並確保其中要建立外來鍵關係的列與主鍵表中的資料型別完全一致;

3、在要建立外來鍵關係的表中,在任意列上右擊,選擇【關係】;

4、在外鍵關係對話方塊中,點選左下角的【新增】;

5、點選【表和列規範】項的右側的 ...小按鈕;

6、在表和列對話方塊中,在主鍵表下方選擇外來鍵列所在的表和該外來鍵列;

7、在外鍵表下方,只要選擇表中與主鍵表的列相對應的列即可;

8、然後點選【確定】,再回到外來鍵關係表;

9、如果還有外來鍵關係需要建立,繼續點選外來鍵關係表左下側的【新增】,沒有的話,點選【關閉】即可;

10、此時,已經成功建立了乙個主外來鍵關係。在表中任意列右擊,選擇關係就可以看到啦。

8樓:匿名使用者

在要設定關係的外來鍵表中,右擊關係→新增→在表和列規範中選擇關聯的主表再選擇外來鍵表與其關聯的字段

9樓:

constraint 外來鍵名稱 foreign key (字段) references 引用表表名 (引用字段)

sql語句在sql server中建立表時如何引用其他表的字段來進行計算

10樓:4終

1、登陸sql server。

2、 單擊資料庫,選擇要在哪個資料庫建立表。

3、 新建查詢按鈕,進入編輯介面。

4、以建立學生表為例。

5、 將建立好的表儲存,就完成了。

注意事項:表之間的列要用英文的【逗號】隔開,表的sql語句不區分大小寫,sql語句只能在整個編輯結束時才能用分號,也可以不用分號。

11樓:babyan澀

建立主鍵、外來鍵關聯的資料庫表

建立含有計算欄位的資料庫表

12樓:擺渡浮橋

sql server的計算欄位不支援引用外部表的字段。

或者你可以自定義乙個函式,函式從products檢索price並返回。在計算列中引用這個函式進行計算。

假設建立了乙個叫做getpricefromproducts的函式。

amount as (getpricefromproducts(ord_no) * qty)

13樓:匿名使用者

你需要用這個去做什麼 。。。。。用資料約束不行嗎 。。。。。。你在新增資料的時候這個欄位的資料是([price]*[qty]) 這個樣子計算出來的。

你可以建立乙個約束 ,但是他的目地不是建表,而是檢驗amount是否合格 (amount = ([price]*[qty]) )) 外來鍵也行啊。

14樓:就愛女流

用select子句去試試。

amount as ((select price from products where .....) * qty ) ;

select 子句中必須是乙個單值。

sql server 2008中建好的表怎麼指定外來鍵

15樓:匿名使用者

兩種情況:

一,b表還未建立,在建立的時候這樣寫(屬性儲存型別我設定為char(6),最好兩個表的相同屬性的儲存型別是一樣的):

create table b

(no char(6)

constraint fk_b_a ------外來鍵約束名

foreign key -----外來鍵

references a(no), -----採用a表中的no屬性列

。。。。(以下為其他屬性列)

)二,如果你已經建立b表了,那就把b表刪了用以上語句再建立乙個b表,哈哈,說笑的,其實可以這樣:

alter table b

addconstraint

fk_b_a

foreign key(no)

references a(no)

注意,no必須設定為主鍵才能被引用。

ps:順便鄙視下樓上的,drop table 是刪除表的意思,純粹混分。

16樓:卷紫夏侯

使用 drop table語法

在連線到 sql server 2019 時,在預設的設定下

檢視你是否擁有遠端連線資料庫的許可權。連線到 sql server 2005 時,在預設的設定下 sql server 不允許進行遠端連線可能會 80 一般來說出現這樣的狀況可能有兩個原因 1 未開啟sql server browser服務,要能遠端連線sql server資料庫,此服務必須開啟 2...

在解除安裝sqlserver2019時企業管理器解除安裝不了就刪

沒解除安裝乾淨 登錄檔有殘留 建議清空登錄檔中相關值 sql server 2000解除安裝怎麼解除安裝不起 我在控制面板裡面選刪除,但是它彈出來的老是我的日誌檔案無法找到 解除安裝 嘗試用360軟體管家解除安裝,這種軟體最好不要在控制面板裡面解除安裝,註冊檔案解除安裝不乾淨會導致安裝出錯,建議你在...

在SQL Server 2019中SA密碼丟失了怎麼辦

這些情況下 你可以登入sql server 2008,重置sa密碼.如果builtin administrator在sql server中還存在,你可以用administrators group的成員去登入,然後重置sa密碼。2.或者你還有其它的sysadmin許可權的賬號,你可以用此賬號登入,重置...

sql server 2019怎麼解除安裝

1.stop 所有服務 2.用 windows install clean up 工具解除安裝sql 2005元件 3.用srvinstw.exe刪除所有sql服務 4.清除登錄檔a.將hkey current user software microsoft下的microsoft sql serve...

sql server 2019與sql server 2019 R2有啥區別

sql server 2008 是基於vista核心的 sql server 2008 r2是基於 win7核心的 r2是算是加強版的吧,多了一些新功能 sql server 2008 r2 提供了大量新改進,可幫助您的組織滿懷信心地調整規模 提高 it 效率並實現管理完善的自助 bi。此版本中包含...