1. mysql中外鍵如何使用
1、只有InnoDB類型的表才可以使用外鍵。mysql默認是MyISAM,這種類型不支持外鍵約束
2、外鍵的好處:可以使得兩張表關聯,保證數據的一致性和實現一些級聯操作。
3、外鍵的作用:
保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值。
4、建立外鍵的前提:
兩個表必須是InnoDB表類型。
使用在外鍵關系的域必須為索引型(Index)。
使用在外鍵關系的域必須與數據類型相似。
5、創建的步驟
指定主鍵關鍵字: foreign key(列名)。
引用外鍵關鍵字: references <外鍵表名>(外鍵列名)。
6、事件觸發限制:on delete和on update , 可設參數cascade(跟隨外鍵改動)。
restrict(限制外表中的外鍵改動),set
Null(設空值),set Default(設默認值)。
[默認]no action
7、舉例
outTable表 主鍵 id 類型 int
創建含有外鍵的表:
代碼如下:
create table temp(
id int,
name
char(20),
foreign key(id) references outTable(id) on delete cascade on update
cascade);
說明:把id列 設為外鍵 參照外表outTable的id列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。
代碼如下:
create table temp( id int, name char(20),
foreign key(id) references outTable(id) on delete cascade on update
cascade);
2. sql如何引用外鍵
首先要建立關聯的主外鍵 綁定數據,然後根據主外鍵關系給你(就好是B)的欄位賦值
3. SQL資料庫中的外鍵 是怎麼輸入的
表中的欄位都要手寫上去的。
主鍵一般是用來約束自身的,一般值要唯一
外鍵是外部引用約束,含義是其值必須在所引用的表中欄位中存在
4. SQL如何建立外鍵請教高手了
資料庫mysql
建立外鍵的前提:
本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。
外鍵作用:
使兩張表形成關聯,外鍵只能引用外表中的列的值!
指定主鍵關鍵字:
foreign
key(列名)
引用外鍵關鍵字:
references
<外鍵表名>(外鍵列名)
事件觸發限制:
on
delete和on
update
,
可設參數cascade(跟隨外鍵改動),
restrict(限制外表中的外鍵改動),set
Null(設空值),set
Default(設默認值),[默認]no
action
例如:
outTable表
主鍵
id
類型
int
創建含有外鍵的表:
create
table
temp(
id
int,
name
char(20),
foreign
key(id)
references
outTable(id)
on
delete
cascade
on
update
cascade);
說明:把id列
設為外鍵
參照外表outTable的id列
當外鍵的值刪除
本表中對應的列篩除
當外鍵的值改變
本表中對應的列值改變。
自己實踐
才能完全了解外鍵的作用
關鍵是:事件觸發限制的作用
5. sql中外鍵怎麼寫
1、創建測試表;
create table test_class(class_id varchar2(10), class_name varchar2(30));
create table test_student(student_id varchar2(10), student_name varchar2(30), class_id varchar2(10));
6. 資料庫sql的主鍵外鍵怎麼用啊如何用啊 定義修改我都會了,就知不知道能幹啥!!!
關系型資料庫中的一條記錄中有若干個屬性,若其中某一個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為一個主鍵
比如
學生表(學號,姓名,性別,班級)
其中每個學生的學號是唯一的,學號就是一個主鍵
主鍵是能確定一條記錄的唯一標識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復,所以,身份證號是主鍵。
外鍵用於與另一張表的關聯。是能確定另一張表記錄的欄位,用於保持數據的一致性。比如,A表中的一個欄位,是B表的主鍵,那他就可以是A表的外鍵。
一個表可以有多個外鍵
7. 在SQL中如何創建外鍵約束
可以用創建關系圖的方式進行約束,步驟如下
企業管理器中打開資料庫,新建關系圖,選出自己所要的幾張表,然後將對應的外鍵用滑鼠連接到另一張表的主鍵上就行了
ps
環境
sql2000
8. sql語句中主外鍵怎麼弄
sql ce表中建立外鍵約束的語法:CREATE TABLE DetectTable(UserID integer,StartTime datetime not null,EndTime datetime not null,MassName nvarchar(10), foreign key (UserID) references UserTable(UserID)),其中,UserID為UserTable表中的主鍵。
也可以在創建資料庫關系圖直接拖
在資料庫關系圖上右鍵-->新建關系圖-->添加表
然後直接用滑鼠拖欄位連接就可以建立外鍵約束了
9. sql中的主鍵和外鍵怎麼用的
主鍵:primary key(id,name)
外鍵:FOREIGN KEY (id,name)
大概這個意思吧
10. 怎麼在SQL中設置外鍵
sql server中建立外鍵約束有3中方式:enterprise manager中,tables,design table,設置table的properties,可以建立constraint, reference key;enterprise manager中,diagrams, new diagrams,建立兩個表的關系;直接用transact sql語句。
1、三個方法都需要先建立數據表。
1)創建表author :
create table [dbo].[author] (
[id] [bigint] not null ,
[authorname] [char] (10) null ,
[address] [char] (480) null ,
[introction] [ntext] null
)
2)創建表mybbs:
reate table [dbo].[mybbs] (
[id] [bigint] identity (1, 1) not null ,
[authorid] [bigint] not null ,
[title] [char] (40) null ,
[date_of_created] [datetime] null ,
[abstract] [char] (480) null ,
[content] [ntext] null
)
2、設置表mybbs中的authorid為外鍵,參照author表的id欄位,直接使用transact sql語句,過程如下:
1)增加表mybbs(authorid)的外鍵約束fk_mybbs_author,表mybbs中的authorid受表author中的主鍵id約束:
begin transaction
alter table dbo.mybbs add constraint fk_mybbs_author
foreign key (authorid)
references dbo.author([id]) on update cascade on delete cascade
2)刪除外鍵約束fk_mybbs_author:
--alter table dbo.mybbs drop constraint fk_mybbs_author
--rollback
commit transaction
上面on update cascade,on delete cascade兩個選項,指明以後author表的id欄位有delete,update操作時,mybbs表中的id也會被級聯刪除或更新。如果沒有選中,是不可以對author表中已被mybbs表關聯的id進行update或者delete操作的。
拓展資料:
SQL的主鍵和外鍵的作用:
1、插入非空值時,如果主鍵表中沒有這個值,則不能插入。
2、更新時,不能改為主鍵表中沒有的值。
3、刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。
4、更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。
簡而言之,SQL的主鍵和外鍵就是起約束作用。