當前位置:首頁 » 編程語言 » sqlserver2005設置外鍵
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver2005設置外鍵

發布時間: 2022-02-09 10:42:40

⑴ 求sqlserver2005高人解決。。。

外鍵約束操作如下
create table a(id int primary key,name char(6) not null);
create table b(id int foreign key references a(id));
你的貨號為整數類型,不能顯示為001,應該設置為字元型,就可以了,但是你要想數據可以加減的話,在操作中就要使用數據類型轉換了。

⑵ sqlserver2005一張表怎麼建多個外鍵

ALTER TABLE 表
ADD CONSTRAINT 約束名字
FOREIGN KEY (表的欄位) REFERENCES 另外一個表;

例如:
ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;

建多個外鍵, 就不同的欄位,多指向幾個表就行。

⑶ 在SQLserver里的表裡添加外鍵(不是通過語句),怎麼設置為不能為空

不知道你這個 允許為空的建外鍵 是什麼意思.

不知道是不是指:

-- 創建外鍵(使用 ON DELETE SET NULL 選項,刪除主表的時候,同時將子表的 main_id 設置為 NULL)

ALTER TABLE test_sub
ADD CONSTRAINT main_id_cons
FOREIGN KEY (main_id) REFERENCES test_main ON DELETE SET NULL;

⑷ 在資料庫(sqlserver2005)中有兩張表,其中一張表中有外鍵,我要向另一張表中插入數據,怎麼弄呀

首先要保證外鍵里的數據在主表中有值,就是說你如果要在外鍵表中插入值,就必須確保主鍵表中的那個外鍵欄位中有那個值。舉個例子:假設tb_bookCatalog表(圖書類別表)是主表,主鍵是bookCatalogID,外鍵是bookID,tb_book(圖書表)表是外鍵表,此表的主鍵是bookID(就是tb_bookCatalog表的外鍵)。那麼只有tb_bookCatalog表(圖書類別表)的bookID里有數據了,tb_book(圖書表)表如果的主鍵的數據就只能是tb_bookCatalog表(圖書類別表)的bookID里的那些數據。如果不是,就會包主外鍵錯誤。

⑸ sqlserver2005中如何查看某一表跟哪張表有主外鍵關系 可以看到就行

1簡單的方法看「資料庫關系圖」
2從系統表

select fk.*
,obj.name --外鍵名
,obj2.name --外鍵表
,obj3.name --主鍵表
from sysforeignkeys fk inner join sysobjects obj on fk.constid=obj.id
inner join sysobjects obj2 on fk.fkeyid = obj2.id
inner join sysobjects obj3 on fk.rkeyid = obj3.id
order by obj2.name

⑹ SQLSERVER外鍵約束

當然了,外鍵就是為了保證資料庫的參照完整性的,如果外鍵表插入的數據沒有在主表有相應的主鍵存在,是不可能成功的。

⑺ 在SQLSERVER2005中添加外鍵(不是用SQL語句,用的界面操作),提示錯誤 ALTER TABLE語句與FOREIGN KEY約束

是添加的外鍵數據格式不一樣嗎?外鍵的數據格式一定要相同的。

⑻ sqlserver2005資料庫 給表自增列如何創建帶標識的自增ID

用計算列或用函數或觸發器
如:
Create table test(ID int identity(1,1),Code as 'BH'+right(1000000+ID,5),Cid int)

⑼ sqlserver2005如何建立外鍵

我不太記得了,好象關鍵字是extern,在定義和調用時要在鍵名的前面用extern聲明,建議你去查查有關資料庫的書,應該會講得很清楚

⑽ mysql語句轉換為sqlserver2005語句

SQL Server 的語法如下:

ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
指定如果已創建表中的行具有引用關系,並且被引用行已從父表中刪除,則對這些行採取的操作。默認值為 NO ACTION。

NO ACTION
資料庫引擎將引發錯誤,並回滾對父表中行的刪除操作。

CASCADE
如果從父表中刪除一行,則將從引用表中刪除相應行。

SET NULL
如果父表中對應的行被刪除,則組成外鍵的所有值都將設置為 NULL。若要執行此約束,外鍵列必須可為空值。

SET DEFAULT
如果父表中對應的行被刪除,則組成外鍵的所有值都將設置為默認值。若要執行此約束,所有外鍵列都必須有默認定義。如果某個列可為空值,並且未設置顯式的默認值,則將使用 NULL 作為該列的隱式默認值。

MySQL 裡面的 on delete restrict
切換到 SQL Server , 可以切換為 ON DELETE NO ACTION
也可以不寫,因為 默認值為 NO ACTION。