真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql外鍵名怎么寫,mysql外鍵命名

sql中外鍵怎么寫?

sql中外鍵寫法格式為?foreign key(列名)。如:create table temp(id int,name char(20),foreign key(id))。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機(jī)域名網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、將樂網(wǎng)站維護(hù)、網(wǎng)站推廣。

將一個表的值放入第二個表來表示關(guān)聯(lián),所使用的值是第一個表的主鍵值(在必要時可包括復(fù)合主鍵值)。此時,第二個表中保存這些值的屬性稱為外鍵(foreign key)。建立外鍵的前提是目標(biāo)關(guān)系的主鍵和參照關(guān)系的外鍵必須定義在一個或同一組的域上。

擴(kuò)展資料:

外鍵能夠保持?jǐn)?shù)據(jù)一致性,完整性,主要目的是控制存儲在外鍵表中的數(shù)據(jù)。 使兩張表形成關(guān)聯(lián),外鍵只能引用外表中的列的值或使用空值。在實際應(yīng)用中為了便于識別,當(dāng)主鍵與相應(yīng)的外鍵屬于不同關(guān)系時,往往取相同的名字。

有很多時候,程序員會發(fā)現(xiàn)字段缺少、多余問題或者是創(chuàng)建外鍵以后就不能添加沒有受約束的行(特殊情況下是有必要的),這個時候不想對表結(jié)構(gòu)進(jìn)行操作,就可以使用約束失效。

在MySQL中如何設(shè)置主鍵和外鍵

工具/原料

電腦? ?MySQL

方法/步驟

設(shè)置主鍵:

1、通過終端進(jìn)入到mysql命令行工具。

2、通過use關(guān)鍵字進(jìn)行到目標(biāo)數(shù)據(jù)庫里。

3、如原表已有主鍵,先把原來的主鍵刪除掉,通過DROP PRIMARY KEY命令:ALTER TABLE `jingyan` DROP PRIMARY KEY;。

4、主鍵已經(jīng)沒有了。

5、通過命令:ADD PRIMARY KEY來添加ALTER TABLE `jingyan` ADD PRIMARY KEY ( `id` ) 。

6、輸入后按下回車鍵即可看到 query ok執(zhí)行成功的字符。

7、回到數(shù)據(jù)庫的可視化工具,即可顯示現(xiàn)在的表在id列上添加了主鍵了。

設(shè)置外鍵:

1、創(chuàng)建好主從表。

2、選擇主表,點(diǎn)擊設(shè)計表,進(jìn)入到表設(shè)計界面。

3、點(diǎn)擊外鍵,進(jìn)入到外鍵設(shè)置界面。

4、先設(shè)置外鍵名稱和選擇主表的外鍵字段。

5、然后在設(shè)置外鍵字段對應(yīng)從表的數(shù)據(jù)庫、表名和字。

6、點(diǎn)擊保存就完成外鍵設(shè)置了。

mysql怎么定義外鍵

數(shù)據(jù)庫mysql

建立外鍵的前提:本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。

外鍵作用:使兩張表形成關(guān)聯(lián),外鍵只能引用外表中的列的值!

指定主鍵關(guān)鍵字:foreignkey(列名)

引用外鍵關(guān)鍵字:references外鍵表名(外鍵列名)

事件觸發(fā)限制:ondelete和onupdate,可設(shè)參數(shù)cascade(跟隨外鍵改動),restrict(限制外表中的外鍵改動),setNull(設(shè)空值),setDefault(設(shè)默認(rèn)值),[默認(rèn)]noaction

例如:

outTable表主鍵id類型int

創(chuàng)建含有外鍵的表:

createtabletemp(

idint,

namechar(20),

foreignkey(id)referencesoutTable(id)ondeletecascadeonupdatecascade);

說明:把id列設(shè)為外鍵參照外表outTable的id列當(dāng)外鍵的值刪除本表中對應(yīng)的列篩除當(dāng)外鍵的值改變本表中對應(yīng)的列值改變。

自己實踐才能完全了解外鍵的作用關(guān)鍵是:事件觸發(fā)限制的作用

mysql 如何建立外鍵

詳細(xì)說明可以百度搜我的博客: mysql foreign外鍵詳細(xì)使用方法和使用事項_2018_lcf

---------下面是使用方法

使用外鍵的前提:

1. 表儲存引擎必須是innodb,否則創(chuàng)建的外鍵無約束效果。

2. 外鍵的列類型必須與父表的主鍵類型完全一致。

3. 外鍵的名字不能重復(fù)(一般使用。

建外鍵表兩種方式(創(chuàng)建表時關(guān)聯(lián)/添加外鍵)

1) 第一種方式創(chuàng)建表時加外鍵使用實例:

mysql create table A( name char(12), id int(8) ,index(id))engine=innodb; //先建立A表,

mysql create table B( //建立B表,同時做外鍵

- id int(9),

- money int(9),

- index(id),

- foreign key(id) references A (id) //這個是必加項,foreign key(B表要關(guān)聯(lián)的字段),references A表名 (對應(yīng)字段)

- on delete cascade on update cascade //這里是可選項的,只加一項或都不加都可以的,看需求.

- )engine=innodb; //這個必須是innodb類型,并且和A表的一致

第二方式在已有的表上做和A表關(guān)聯(lián)的外鍵(最好是新建好沒有記錄的,不然會因為記錄對不上而創(chuàng)建不成功)

mysql create table C( //這里先創(chuàng)建一個空表C

- id int(7),

- money int(5),

- index(id)

- )engine=innodb;

mysql alter table Cadd constraint abc //在C表上添加和表A關(guān)聯(lián)的外鍵,constraint 外鍵名(自己任意取)

- foreign key(id) references A(id) //和創(chuàng)建時一樣的輸入

- on delete cascade on update cascade; //一樣是可選項,這行不寫也可以通過.

注: @以上的cascade是上面介強(qiáng)的四種模式之一,是可以替換成其它模式的,如寫成on update set null

@還可以同時做兩個外鍵,如寫成foreign key(id,money) references A(id,money) 即可

@兩張表關(guān)聯(lián)字段名可以取不一樣名字,但類型必須一致

mysql外鍵約束怎么寫

你好朋友

1.簡介

外鍵表示一個表中的一個字段被另外一個表中的字段應(yīng)用.外鍵對相關(guān)表中的數(shù)據(jù)造成了限制,使MySQL 能夠保證參照完整性.

在MySQL 中,InnoDB 存儲引擎支持外鍵.在一張表中,可以存在多個外鍵.

外鍵的創(chuàng)建可以在創(chuàng)建表的時候創(chuàng)建,也可以在創(chuàng)建表之后增加(考慮數(shù)據(jù)的完整性問題).

父表:外鍵所指向的表.

字表:相對于父表,擁有外鍵的表.

2.語法

create 語法

create table table_name(

column_1,

column_2,

....

constraint constraint_name foreign key (column_name)

references parent_table(column_name)

on delete action

on update action

) engine=InnoDB default charset utf8;

constraint 子句允許為外鍵定義一個名稱,如果不寫,MySQL 自動生成一個名稱

foreign key 子句指定子表中要應(yīng)用父表的列.注意:MySQL 會自動創(chuàng)建一個基于外鍵的索引.

references 子句指定父表中的被引用字段.foreign key 和references 指定的列數(shù)必須相同.

on delete: 定義當(dāng)父表中的記錄被刪除時,子表的記錄應(yīng)該執(zhí)行的動作.action包括:

on delete restrict:(默認(rèn)),父表不能刪除一個已經(jīng)被子表引用的記錄.

on delete no action:等同與on delete restrict

on delete cascade: 級聯(lián)模式,父表刪除后,對應(yīng)子表關(guān)聯(lián)的數(shù)據(jù)也跟著被刪除

on delete set null:置空模式,父表刪除后,對應(yīng)子表關(guān)聯(lián)的外鍵值被設(shè)置為NULL,需要注意的是,如果子表的外鍵設(shè)置not null ,則不能使用這種模式,因為會相互沖突.

on update:定義父表中的記錄更新時,子表的記錄應(yīng)該執(zhí)行的動作.action 包括:

on update restrict:(默認(rèn)),父表不能更新一個已經(jīng)被子表引用的記錄.

on update no action:等同與on delete restrict

on update cascade: 級聯(lián)模式,父表更新后,對應(yīng)子表關(guān)聯(lián)的數(shù)據(jù)也跟著被更新

on update set null:置空模式,父表更新后,對應(yīng)子表關(guān)聯(lián)的外鍵值被設(shè)置為NULL,需要注意的是,如果子表的外鍵設(shè)置not null ,則不能使用這種模式.

alter 語法

-- 添加外鍵

alter table table_name add constraint constraint_name

foreign key column_name

references parent_table(column_name)

on delete action

on update action

-- 刪除外鍵

alter table table_name drop constraint_name;

-- 如果沒有顯式的定義名字,可以使用如下命令獲取

show create table table_name;

3.演示

構(gòu)造兩張表categoryes 和products.每個類別有多種產(chǎn)品,而每個產(chǎn)品只屬于一個類別.

-- 設(shè)置 類別表 categoryes 和產(chǎn)品表 products

create table categoryes(

c_id int not null auto_increment,

c_name varchar(45) not null,

c_description text,

primary key (c_id)

) engine=InnoDB default charset utf8 comment '類別表';

create table products(

p_id int not null auto_increment,

p_name varchar(45) not null,

p_price decimal(8,4),

c_id int,

primary key (p_id),

constraint fk_products_categoryes

foreign key (c_id)

references categoryes(c_id)

on delete set null

on update cascade

) engine=InnoDB default charset utf8 comment '產(chǎn)品表';

在這兩張表的基礎(chǔ)上,新生成一張vendors 供應(yīng)商表,并更新products字段

-- 新生成一張表 供應(yīng)商 vendors ,并為 products 新添加字段 v_id 外鍵

-- 引用 vendors.v_id

create table vendors(

v_id int not null auto_increment,

v_name varchar(45),

primary key (v_id)

) engine=InnoDB default charset utf8 comment '供應(yīng)商';

alter table products add column v_id int not null;

alter table products add

constraint fk_products_vendors foreign key (v_id)

references vendors(v_id)

on delete no action

on update cascade;

望采納祝你好運(yùn)


網(wǎng)頁標(biāo)題:mysql外鍵名怎么寫,mysql外鍵命名
網(wǎng)站路徑:http://weahome.cn/article/hcogoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部