1. 程式人生 > >MYSQL 四種外來鍵方式

MYSQL 四種外來鍵方式

一,如何建立外來鍵

語法:alter table 表名 add constraint FK_ID foreign key(你的外來鍵欄位名) REFERENCES 外表表名(對應的表的主鍵欄位名);例: alter table tb_table add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)

二,建立外來鍵的主要目的

1.建立約束

2.父表刪除或更新欄位,子表刪除或更新相應外來鍵欄位

3.若子表中有相應外來鍵欄位,父表不能刪除或更新該欄位

三,四種外來鍵建立方式

1. CASCADE: 從父表中刪除或更新對應的行,同時自動的刪除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE。

2. SET NULL: 從父表中刪除或更新對應的行,同時將子表中的外來鍵列設為空。注意,這些在外來鍵列沒有被設為NOT NULL時才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL。

3. NO ACTION: InnoDB拒絕刪除或者更新父表。

4. RESTRICT: 拒絕刪除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE選項的效果是一樣的。(父表和子表沒什麼關係)

我增加的例句:

alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id) ON DELETE CASCADE ON UPDATE CASCADE



相關推薦

MYSQL 外來方式

一,如何建立外來鍵語法:alter table 表名 add constraint FK_ID foreign key(你的外來鍵欄位名) REFERENCES 外表表名(對應的表的主鍵欄位名);例: alter table tb_table add constraint F

MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL外來約束

外來鍵約束比較多得兩種情況: 1.父表更新時子表也更新,父表刪除時如果子表有匹配的項,刪除失敗; ON UPDATE CASCADE ON DELETE RESTRICT 2.父表更新時子表也更新,父表刪除時子表匹配的項也刪除; ON UPDATE

mysql的三外來約束方式

如果表A的主關鍵字是表B中的欄位,則該欄位稱為表B的外來鍵,表A稱為主表,表B稱為從表。外來鍵是用來實現參照完整性的,不同的外來鍵約束方式將可以使兩張表緊密的結合起來,特別是修改或者刪除的級聯操作將使得日常的維護工作更加輕鬆。這裡以MySQL為例,總結一下3種外來鍵約束方式的

mysql修改密碼的方式

table user 修改 sql str upd root密碼 權限表 bin 方法1: 用SET PASSWORD命令 首先登錄MySQL。 格式:mysql> set password for [email protected]/* */ = pas

MySQL資料庫基礎知識外來和引用)

級聯刪除,級聯更新 外來鍵維護資料的一致性。 下面是幾條術語: 父表:包含原始鍵值的表。 子表:引用了父表中鍵值的相關表。 建立父表和子表關聯案例 父表: create table parent { par_id INT NOT NULL, PRIMAR

HIVE的安裝配置、mysql的安裝、hive建立表、建立分割槽、修改表等內容、hive beeline使用、HIVE的資料匯入方式、使用Java程式碼執行hive的sql命令

1.上傳tar包 這裡我上傳的是apache-hive-1.2.1-bin.tar.gz 2.解壓 mkdir -p /home/tuzq/software/hive/ tar -zxvf apache-hive-1.2.1-bin.tar.gz  -C /home/

linux 中mysql 啟動方式

mysql的四種啟動方式: 1、mysqld 啟動mysql伺服器:./mysqld --defaults-file=/etc/my.cnf --user=root 客戶端連線: mysql --defaults-file=/etc/my.cnf or mys

MySql隔離級別

serial 改變 共享 表結構 競爭 隔離級別 處理 nal 完全 什麽是事務 事務是應用程序中一系列嚴密的操作,所有操作必須成功完成,否則在每個操作中所作的所有更改都會被撤消。也就是事務具有原子性,一個事務中的一系列的操作要麽全部成功,要麽一個都不做。 事務的結束有兩種

Oracle的連接方式【轉載】

image left join ner dna derby 如果 .cn emp code 我們以Oracle自帶的表來做例子 主要兩張表:dept、emp 一個是部門,一個是員工表結構如下: emp name null? Type Empno not null

HTTP與服務器的交互方式

由於 不同 pass ice 概念 瀏覽器 itl 處理程序 ase Http定義了與服務器交互的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認為:一個URL地址,它用於描述一個網絡上的資源,而HTTP中的

MySQL 鏈接

相同 courses 比較運算符 因此 lock tom ont 返回結果 操作 1、內聯接(典型的聯接運算,使用像 = 或 <> 之類的比較運算符)。包括相等聯接和自然聯接。 內聯接使用比較運算符根據每個表共有的列的值匹配兩個表中的行。例如,檢索 s

sqlserver的分頁方式

pro 支持 分享 class eat cnblogs ext 5 學習 log 第一種:ROW_NUMBER() OVER()方式 select * from (     select *, ROW_NUMBER() OVER(Order by ArtistId )

Map集合的遍歷方式,自己記錄,方便以後查詢參考!

for 映射 while entryset 返回 方式 bsp rgs put 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 publi

OutputStream-InputStream-FileOutputStream-FileInputStream-BufferedOutputStream-BufferedInputStream-復制方式-單層文件夾復制

操作 spa rec row 讀取 換行 耗時 數據 bar 字節流兩套: java.lang.Object--java.io.OutputStream--java.io.FileOutputStream java.lang.Object

函數的調用方式

ole ext on() 構造 his fun lang ood lac 1.函數模式 function show(){ } show() var show=function(){ } show() 2.方法模式 var obj={ } function show(){ }

JS高級(三)--原型鏈、閉包、作用域、函數的調用方式

PE javascrip lB 修改 需要 fine 屬性 作用 cat 一、原型鏈(家族族譜) 概念:JS裏面的對象可能會有父對象,父對象還會有父對象,。。。。。祖先 根本:繼承 屬性:對象中幾乎都會有一個__proto__屬性,指向他的父對象 意

Android-基本控件和詳解布局方式

步驟 頁面 標示 string 過多 初始 contex 前端 size 轉自:https://www.cnblogs.com/ludashi/p/4883915.html 一、常用基本控件 1.TextView 看到Android中的TextView, 我不禁的想到

【Java筆記】IO流中檔案複製方式效率比較

位元組流檔案複製方式: (1)位元組流讀寫單個位元組 (2)位元組流讀寫位元組陣列 (3)位元組緩衝流讀寫單個位元組 (4)位元組緩衝流讀寫位元組陣列 import java.io.BufferedInputStream; import java.io.BufferedOutpu

mysql中新增外來約束失敗(cannot add foreign key constraint)

mysql中新增外來鍵約束遇到一下情況:  cannot add foreign key constraint  出現這個問題一般是開發工作者對外來鍵的使用出現了疏忽,我們先清晰一下外來鍵的使用:  1. 外來鍵欄位不能為該表的主鍵;  2. 外來鍵欄位參考欄

mysql 儲存引擎

前言 資料庫儲存引擎是資料庫底層軟體組織,資料庫管理系統(DBMS)使用資料引擎進行建立、查詢、更新和刪除資料。不同的儲存引擎提供不同的儲存機制、索引技巧、鎖定水平等功能,使用不同的儲存引擎,還可以 獲得特定的功能。現在許多不同的資料庫管理系統都支援多種不同的資料引擎。MySQL的核心就是儲存引