sql server中主外來鍵的定義:
1.
createtable dept
(dept_no int
primary
key,
dept_name nvarchar(50) not
null
)insert into dept values(10,'it'),(20,'finance'),(30,'engneer')
createtable employee ( employee_id int
primary
key, employee_name nvarchar(50) not
null, dept_no int
foreign
keyreferences dept(dept_no) )
上面的寫法,是列級定義,直接定義列字段的時候定義foreign key2.
createtable dept
(dept_no int
primary
key,
dept_name nvarchar(50) not
null
prmary key (dept_no)
)insert into dept values(10,'it'),(20,'finance'),(30,'engneer')
createtable employee
(employee_id int
primary
key,
employee_name nvarchar(50) not
null,
dept_no int,
constraint dept_no_fk foreign
key(dept_no) references dept(dept_no)
)
這是表級的定義3.已經建立了沒有定義主外來鍵的表,可以使用alter table修改
alter新增主鍵table employee
addforeign
key (dept_no) references dept(dept_no)
alter
table employee
addconstraint dept_no_fk foreign
key (dept_no)
references dept(dept_no)
alter4.去除主鍵table dept
addconstraint dept_no_pk primary
key(dept_no)
alter去除外鍵table dept drop
constraint dept_no_pk
alter建了刪,刪了建的,手疼table employee
drop
constraint dept_no_fk
只好改天再寫mysql的了
SQL Server 外來鍵約束方式
如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主表,表b稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將 可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以mysql為例,總結一下3種外來鍵約束方式的區別和聯 系。這裡以使...
SQL Server 外來鍵約束方式
如果表a的主關鍵字是表b中的字段,則該字段稱為表b的外來鍵,表a稱為主表,表b稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將 可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以mysql為例,總結一下3種外來鍵約束方式的區別和聯 系。這裡以使...
Sql Server 主鍵 外來鍵約束
主鍵約束 表通常具有包含唯一標識表中每一行的值的一列或一組列。這樣的一列或多列稱為表的主鍵 pk 用於強制表的實體完整性。由於主鍵約束可保證資料的唯一性,因此經常對標識列定義這種約束。如果為表指定了主鍵約束,資料庫引擎 將通過為主鍵列自動建立唯一索引來強制資料的唯一性。當在查詢中使用主鍵時,此索引還...