1. 程式人生 > >mysql 外來鍵建立例項

mysql 外來鍵建立例項

SQL FOREIGN KEY 外來鍵例項教程

外國的SQL關鍵的制約因素
外來鍵在一個表點,主鍵在另一就座。

讓我們說明了外國鑰匙與一個例子。看看以下兩個表格:

在“人”表:

 LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger


order 表.

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1


請注意, “ P_Id ”欄目中的“訂單”表指出, “ P_Id ”欄目中的“人”就座。

該“ P_Id ”欄目中的“人”表是首要的關鍵在“人”就座。

該“ P_Id ”欄目中的“訂單”表外來鍵的“訂單”表。

外來鍵約束是用來防止行動將破壞之間的聯絡表。

外來鍵約束也可以防止無效的資料插入到外國鍵列,因為它是一個價值表中的這點。


-------------------------------------------------- ------------------------------

外國的SQL關鍵制約建立表
下列SQL建立外來鍵上的“ P_Id ”一欄時, “訂單”表建立:

MySQL的:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
SQL Server / Oracle / MS Access
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)為了讓命名外來鍵約束,並確定外來鍵約束多列,請使用下面的SQL語法:MySQL / SQL Server / Oracle / MS Access:為了減少外國關鍵的制約因素下降外來鍵約束,使用下列SQL : MySQL的:ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrdersSQL Server / Oracle / MS Access:ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders

相關推薦

mysql 外來建立例項

SQL FOREIGN KEY 外來鍵例項教程 外國的SQL關鍵的制約因素外來鍵在一個表點,主鍵在另一就座。 讓我們說明了外國鑰匙與一個例子。看看以下兩個表格: 在“人”表:  LastName FirstName Address City 1 Hansen Ola Timo

mysql外來建立失敗的問題

開發中使用django框架, 連線mysql資料庫, 建了些model, 使用python manage.py migrate時報錯如下: django.db.utils.IntegrityError: (1215, 'Cannot add foreign key cons

Navicat for Mysql外來建立失敗

Navicat for Mysql建立外來鍵失敗解決方法 看了網上若干建立外來鍵方法,基礎的還好,有些地方還是沒有點到重點。此處做一個查漏補缺!!! 1、假設有兩個表,user和message表 user表 name varchar(20) p

mysql乾貨——MySQL 1215錯誤 外來建立失敗

在mysql建立表時,經常會建立失敗,其中建立外來鍵(foregin key)時有很多細節需要我們去留意,主要有以下幾種原因,1。兩個欄位的型別或大小嚴格不匹配。例如,如果一個是int(10),那麼外來鍵也必須設定成int(10),而不是int(11),也不能是tinyint。另外,你

mysql】---Navicat --外來建立與cannot add foreign key constraint分析

前言: 用Navicat為mysql資料庫的兩個表之間建立外來鍵關係,出現“cannot add foreign key constraint”錯誤,當時真的不知道是怎麼回事兒,~~~~(>_&

MySQL外來 Cannot add or update a child row錯誤的例項解釋

在MySQL 3.23.44版本後,InnoDB引擎型別的表支援了外來鍵約束。 外來鍵的使用條件: 1.兩個表必須是 InnoDB表,MyISAM表暫時不支援外來鍵(據說以後的版本有可能支援,但至少目前不支援); 2.外來鍵列必須建立了索引,MySQL  4.1.2以後的版

MySQL外來建立

mysql的外來鍵建立方式有兩種,一種是在建立子表的同時建立外來鍵,另一種時在建立完子表後,修改子表新增外來鍵。 #建立外來鍵方式一:建立子表的同時建立外來鍵 #年級表(id\年級名稱)CREATE

mysql外來建立與型別

之前看過一本“mysql必知必會”的入門書籍,我有選擇性的讀過兩遍,感覺比較不錯,例子很多並且簡單易懂,對於mysql入門來說挺適合的,不過缺點就是沒有重要的索引部分,在此先推薦一下。  進入正題,如果想在兩個表中間裡連結關係(即外來鍵),則需要先選定一個父表、一個子表,以

mysql 外來(foreign key)的詳解和例項

外來鍵具有保持資料完整性和一致性的機制,對業務處理有著很好的校驗作用。 ============================白話文簡介================================= 簡單來說,若profile表的uid列作為外來鍵user_profile,參考的主表的列(refere

MYSQL外來(Foreign Key)的建立及使用

在MySQL 3.23.44版本後,InnoDB引擎型別的表支援了外來鍵約束。 外來鍵的使用條件: 1.兩個表必須是InnoDB表,MyISAM表暫時不支援外來鍵(據說以後的版本有可能支援,但至少目前不支援); 2.外來鍵列必須建立了索引,MySQL 4.1.2以後的版本

Mysql 外來的詳解和例項

外來鍵具有保持資料完整性和一致性的機制,對業務處理有著很好的校驗作用。 ============================白話文簡介================================= user 表:id 為主鍵 profile 表: uid 為主鍵 簡單來說,若表 profile 的

MySQL外來新增與刪除

ALTER table erp_bom_detail ADD CONSTRAINT `FK_bom_detail` FOREIGN KEY (`bom_id`) REFERENCES erp_bom(`bom_id`)   ALTER 的是子表   alter t

mysql建立從庫指令碼

#!/bin/sh myuser=root mypass="root123" mysock=/data/3306/mysql.sock #main_path=/server/backup data_path=/server/backup [ ! -f $data_path ] &&

mysql 外來 級聯刪除 級聯更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade

報錯:Cannot delete or update a parent row: a foreign key constraint fails。 原因:表關聯生成的強制約束問題,在刪除的時候回檢查表之間的關聯關係,從而導致無法刪除,更新 解決辦法: SET foreign_key_c

MySQL(外來變種)

day58 外來鍵的變種                  a. 使用者表和部門表            

mysql外來理解

一個班級的學生個人資訊表: 什麼是外來鍵 在設計的時候,就給表1加入一個外來鍵,這個外來鍵就是表2中的學號欄位,那麼這樣表1就是主表,表2就是子表。   外來鍵用來幹什麼   為了一張表記錄的資料不要太過冗餘。 這和軟體project的模組

mysql 外來 cascade

1 . cascade方式在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄    2. set null方式在父表上update/delete記錄時,將子表上匹配記錄的列設為null要注意子表的外來鍵列不能為not null &n

Day055--MySQL--外來的變種,表與表的關係,單表查詢,多表查詢, 內連線,左右連線,全外連線

表和表的關係 ---- 外來鍵的變種 * 一對多或多對一 多對多 一對一 如何找出兩張表之間的關係 分析步驟: #1、先站在左表的角度去找 是否左表的多條記錄可以對應右表的一條記錄,如果是,則證明左表的一個欄位foreign key 右表一個欄位(通常是id) #2、再站在右表的角度去找 是否右表

Mysql外來約束之CASCADE、SET NULL、RESTRICT、NO ACTION

Mysql中有目前只有InnoDB引擎支援外來鍵約束,InnoDB中外來鍵約束定義的語法如下: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_NAME] (index_col_name, ...

Mysql 外來 FOREIGN KEY

FOREIGN KEY 外來鍵 (重點)     1.    針對從表設定外來鍵約束    2.    資料的完整性     &