成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

mysql加外鍵怎么加,mysql建表添加外鍵

MySql如何創(chuàng)建外鍵

create

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),鳳臺網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鳳臺等地區(qū)。鳳臺做網(wǎng)站價(jià)格咨詢:18982081108

table

volunteer(

志愿者編號

varchar(6)

not

null,

志愿者姓名

varchar(8),

班級編號

varchar(4),

constraint

PK_V

primary

key

(志愿者編號));

create

table

class(

班級編號

varchar(4),

班級名稱

varchar(20),

學(xué)院

varchar(20),

constraint

PK_C

primary

key(班級編號),

班級編號

varchar

foreign

key

references

volunteer(班級編號));

你這個(gè)試下,我試了可以的

希望可以幫到你

SQL

創(chuàng)建外鍵語句的方法:constraint

外鍵名字

foreign

key

references

外鍵表(外鍵字段)

mysql怎么設(shè)定外鍵

為已經(jīng)添加好的數(shù)據(jù)表添加外鍵:

語法:alter table 表名 add constraint FK_ID foreign key(你的外鍵字段名) REFERENCES 外表表名(對應(yīng)的表的主鍵字段名);

例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)

//FK_ID是外鍵的名稱

/*

CREATE TABLE `tb_active` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`user_id` int(11) NOT NULL,

PRIMARY KEY (`id`),

KEY `user_id` (`user_id`),

KEY `user_id_2` (`user_id`),

CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1

*/

刪除外鍵

語法: ALTER TABLE table-name DROP FOREIGN KEY key-id;

例: ALTER TABLE `tb_active` DROP FOREIGN KEY 'FK_ID'

自動鍵更新和刪除:

外鍵可以保證新插入的記錄的完整性,但是,如果在REFERENCES從句中已命名的表刪除記錄會怎么樣?在使用同樣的值作為外鍵的輔助表中會發(fā)生什么?

很明顯,那些記錄也應(yīng)該被刪除,否則在數(shù)據(jù)庫中就會有很多無意義的孤立記錄,MYSQL可以通過向FOREIGN KEY...REFERENCES修飾符添加一個(gè)ON DELETE 或ON UPDATE子句簡化任務(wù),它告訴了數(shù)據(jù)庫在這種情況如何處理孤立任務(wù)。

mysql數(shù)據(jù)庫如何添加外鍵

mysql增加外鍵的方法:1、在CREATE TABLE語句中,通過FOREIGN KEY關(guān)鍵字來添加外鍵;2、在ALTER TABLE語句中,通過ADD和FOREIGN KEY關(guān)鍵字來添加外鍵。

mysql建立外鍵時(shí),多對多如何建立?

一張表中的主鍵只能有一個(gè),外鍵可以有多個(gè),如果一張表中多個(gè)列都需要被別的表的外鍵參考,需要使用候選碼(非空并且唯一),具體到你的這個(gè)問題的需求可以考慮用如下方法解決:

把a(bǔ)表中的bookid和authorid都設(shè)置為非空并且唯一,即

create table a(bookid int not null unique, authorid int not null unique);

然后在book表和author表中就可以分別設(shè)置外鍵來參照a表中兩個(gè)不同的字段了。

打開我的navicat,然后找到我的teacher表,選中它,然后點(diǎn)擊菜單欄上的‘design table'

2. 在彈出的對話框中找到“Foreign Keys”,然后單機(jī)。

3. 然后會出現(xiàn)一個(gè)設(shè)置外鍵的界面,一共有七列。簡單介紹一下這幾列的意思?!畁ame’:可以不填,你一會保存成功系統(tǒng)會自動生成。FieldName’:就是你要把哪個(gè)鍵設(shè)置為外鍵。這里選擇‘dept’,‘Reference DadaBase’:外鍵關(guān)聯(lián)的數(shù)據(jù)庫?!甊eference Table‘ :關(guān)聯(lián)的表 這里是dept表‘Forgin filed Names’:關(guān)聯(lián)的的字段,這里是code‘ondelete’:就是刪除的時(shí)候選擇的動作。這里我的選擇是setNull,意思就是當(dāng)關(guān)聯(lián)的表刪除以后,teacher》dept字段會設(shè)置為null.

4. 設(shè)置完成后點(diǎn)擊‘save’保存退出,也可以點(diǎn)擊‘a(chǎn)dd Foreign Key’再添加一個(gè)外鍵。

打開我的navicat,然后找到我的teacher表,選中它,然后點(diǎn)擊菜單欄上的‘design table’。如下圖:

2. 在彈出的對話框中找到“Foreign Keys”,然后單機(jī)。如下圖:

3. 然后會出現(xiàn)一個(gè)設(shè)置外鍵的界面,一共有七列。簡單介紹一下這幾列的意思。‘name’:可以不填,你一會保存成功系統(tǒng)會自動生成。FieldName’:就是你要把哪個(gè)鍵設(shè)置為外鍵。這里選擇‘dept’,‘Reference DadaBase’:外鍵關(guān)聯(lián)的數(shù)據(jù)庫?!甊eference Table‘ :關(guān)聯(lián)的表 這里是dept表‘Forgin filed Names’:關(guān)聯(lián)的的字段,這里是code‘ondelete’:就是刪除的時(shí)候選擇的動作。這里我的選擇是setNull,意思就是當(dāng)關(guān)聯(lián)的表刪除以后,teacher》dept字段會設(shè)置為null。如圖

4. 設(shè)置完成后點(diǎn)擊‘save’保存退出,也可以點(diǎn)擊‘a(chǎn)dd Foreign Key’再添加一個(gè)外鍵。k如圖:

mysql表創(chuàng)建好后添加外鍵

首先要?jiǎng)?chuàng)建一個(gè)字段:alter table 表名 add 字段名 字段類型;

再添加外鍵約束:alter table 需加外鍵的表 add constraint 外鍵名 foreign key(需加外鍵表的字段名) references 關(guān)聯(lián)表名(關(guān)聯(lián)字段名);

注意:外鍵名不能重復(fù)

mysql 如何建立外鍵

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

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

使用外鍵的前提:

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

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

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

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

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

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

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

- id int(9),

- money int(9),

- index(id),

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

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

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

第二方式在已有的表上做和A表關(guān)聯(lián)的外鍵(最好是新建好沒有記錄的,不然會因?yàn)橛涗泴Σ簧隙鴦?chuàng)建不成功)

mysql create table C( //這里先創(chuàng)建一個(gè)空表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)建時(shí)一樣的輸入

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

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

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

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

網(wǎng)頁標(biāo)題:mysql加外鍵怎么加,mysql建表添加外鍵
瀏覽路徑:http://jinyejixie.com/article40/dsssdho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、靜態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、、網(wǎng)站設(shè)計(jì)電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
榆社县| 屯昌县| 嘉义市| 安陆市| 涞水县| 灵宝市| 霍林郭勒市| 竹溪县| 霍林郭勒市| 怀仁县| 吉木乃县| 贡山| 安陆市| 云南省| 阳西县| 金秀| 施秉县| 衡水市| 阳江市| 黄浦区| 金秀| 额尔古纳市| 宜阳县| 砚山县| 平罗县| 博客| 城市| 任丘市| 扬州市| 壶关县| 宁河县| 白玉县| 华容县| 乐平市| 建平县| 玉树县| 江陵县| 安平县| 普宁市| 银川市| 韶山市|