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

mysql建立外來鍵

如果資料庫兩個表有相同欄位,通過外來鍵將兩個表聯絡起來可以只用儲存一個表的資訊就可以實現相應的功能。

  • 檢視建立表命令:show create table 表名字;

建立表:

    mysql> create table provience(
    -> id smallint unsigned auto_increment primary key,
    -> uname varchar(12));
  • 1
  • 2
  • 3

建立子表: 

mysql> create table user(
-> id smallint unsigned auto_increment primary key,
-> name varchar(10),
-> pid smallint unsigned,
-> foreign key (pid) references provience (id) on delete cascade);


這個字表pid欄位是以provience表的id為外來鍵,並且設定為隨著外來鍵id刪除更新而改變。如果在provience修改相關欄位字表的對應的欄位也會修改。

相關推薦

MySQL建立外來關聯報錯1005

主要原因有 1.外來鍵型別不對應 2.外來鍵字元編碼不對應 3.沒有建立對應的索引 4.是否有重複主鍵 附上建立索引以及外來鍵的語句(參考) ALTER TABLE country add INDEX index_name(emp_id) ALTER TABLE emp ad

MySQL建立外來連線報錯

當 你試圖在mysql中建立一個外來鍵的時候,這個出錯會經常發生,這是非常令人沮喪的。像這種不能建立一個.frm 檔案的報錯好像暗示著作業系統的檔案的許可權錯誤或者其它原因,但實際上,這些都不是的,事實上,這個mysql報錯已經被報告是一個mysql本身的 bug並出現在mysql 開發者列表當中很多年了,

MySQL建立外來時出現error121解決辦法

環境:MySQL Server 5.5 + Navicat for Mysql 10.0 問題:建立外來鍵時出現121錯誤  解決:把外來鍵名改為其他名字 錯誤資訊參考: error121 這是外關鍵字名字重複的錯誤,即使是在不同的表中,外關鍵字的名字也不能重複。  er

使用NaviCat for mysql建立外來的要求

要在Mysql資料庫平臺建立外來鍵關聯,必須滿足以下幾個條件:  1. 兩個表必須為 InnoDB 型別。  2. 外來鍵和被引用鍵必須是索引中的第一列,InnoDB不會自動為外來鍵和被引用鍵建立索引,必須明確建立      它們。  3. 外來鍵與對應的被引用鍵在 Inn

MySQL建立外來關聯錯誤

當 你試圖在mysql中建立一個外來鍵的時候,這個出錯會經常發生,這是非常令人沮喪的。像這種不能建立一個.frm 檔案的報錯好像暗示著作業系統的檔案的許可權錯誤或者其它原因,但實際上,這些都不是的,事實上,這個mysql報錯已經被報告是一個mysql本身的 bug並出現在mysql 開發者列表當中很多年了,然

MySQL建立外來[條件/注意事項]

  先看個表例項: mysql> CREATE TABLE `ZZJG` ( `id` int(11) NOT NULL auto_increment, `orgid` varchar(32) NOT NULL COMMENT '組織機構ID', `orgname`

mysql建立外來

如果資料庫兩個表有相同欄位,通過外來鍵將兩個表聯絡起來可以只用儲存一個表的資訊就可以實現相應的功能。 檢視建立表命令:show create table 表名字; 建立表: mysql

mysql建立外來報錯的原因以及處理(can't not create table)

最近在玩資料庫的時候,偶爾會有外來鍵建立不成功的時候,於是上網查閱資料,整合自己的理解有了以下這篇文章:mysql建立外來鍵不成功的原因以及處理方法:第一種:外來鍵的欄位與關聯的欄位的型別不匹配(包括編碼格式的不匹配):兩個不同的表格(一個是record(借書記錄表),一個是

MYSQL建立外來失敗幾種情況記錄Can't create table不能建立

像這種不能建立一個.frm 檔案的報錯好像暗示著作業系統的檔案的許可權錯誤或者其它原因,但實際上,這些都不是的,事實上,這個mysql報錯已經被報告是一個mysql本身的bug並出現在mysql 開發者列表當中很多年了,然而這似乎又是一種誤導。 在很多例項中,這種錯誤的發生都是因為mysql一直以來都不能很

MySQL無法建立外來錯誤 Err 1215: Cannot add the foreign key constraint

今天在寫資料庫作業時,遇到的無法建立外來鍵問題 create table department (dept_name varchar(20), building varchar(15),

Mysql中文亂碼以及建立外來報1215

今天使用Mysql報兩個錯誤,這裡記錄一下。 1、使用insert語句以及sqlyog插入中文字元顯示亂碼,核對資料庫編碼是utf8, 建表語句也設定了引擎和預設字符集: CREATE TABLE `department` (

Mysql無法建立外來的原因

在Mysql中建立外來鍵時,經常會遇到問題而失敗,這是因為Mysql中還有很多細節需要我們去留意,我自己總結並查閱資料後列出了以下幾種常見原因。 1.  兩個欄位的型別或者大小不嚴格匹配。例如,如果一個是int(10),那麼外來鍵也必須設定成int(10),而不是int(1

MySQL 新建資料庫、建立索引、建立外來

本文通過命令操作資料庫的方式,以簡單會員表為例,為讀者簡述資料表的簡單設計及操作。 1.  新建資料庫: CREATE DATABASE 資料庫名;   2.  新建資料表: //Tab1

為什麼在MySQL資料庫中無法建立外來?(MyISAM和InnoDB詳解)

問題描述:為什麼在MySQL資料庫中不能建立外來鍵,嘗試了很多次,既沒有報錯,也沒有顯示建立成功,真實奇了怪,這是為什麼呢? 問題解決:通過查詢資料,每次在MySQL資料庫中建立表時預設的情況是這樣

MySQL 關於建立外來失敗的問題

今天,用Navicat為兩張表建立外健關係,總是提示建立失敗資訊,發現是兩張表關聯的欄位型別問題,但兩個欄位都是int型哩,怎麼會還會型別不一致呢,最後發現到一個地方有點不一樣,就是在“設計表”介面下方有個“無符號”的複選框,兩張表的主鍵欄位其中一個沒勾選上這個複選框而導致雖

MYSQL mysql 無法建立外來約束 及 errno: 121錯誤

對mysql資料庫不太熟悉,今天遇到了外來鍵建立問題。alter外來鍵建立語句命令列下提示成功了,但就是沒看到外來鍵。 後來改用workbench工具來建立,發現是因為資料預設是採用的MyISAM儲存引擎,該引擎不支援外來鍵,需要修改引擎為InnoDB才可以。 我直接在wo

關於使用視覺化圖形工具navicat for mysql建立外來的步驟

    主鍵:主鍵是一張表的唯一識別符號,應該讓其處於不可被外界更改狀態。     且主鍵對於使用者來說是無意義的,為了明確這一點,我們應該讓主鍵處於一種幽魂狀態,即主鍵存在,但其他人並不感覺到它存在。        外來鍵:建立外來鍵是為了在資料表之間建立聯絡。一個外來鍵一

mysql外來約束

1.什麼是外來鍵   A表的主鍵,在B表中欄位出現,就是外來鍵。 2.什麼是約束:約束是一種限制,它通過對錶的行貨列的資料做出限制,來確保表的資料的完整性、唯一性。   3.以上1和2結合一起就是外來鍵約束。即:foreign key   4.具體操作 4.1建立表時,同時建

MYSQL外來無法刪除

今天刪除資料庫中資料,提示因為設定了foreign key,無法修改刪除 可以通過設定FOREIGN_KEY_CHECKS變數來避免這種情況。 SET FOREIGN_KEY_CHECKS=0;刪除,更新資料, 恢復外來鍵 SET FOREIGN_KEY_CHECKS=1;另:檢視當前 FOREIGN_

oracle建立外來約束的兩種方式

轉自:https://blog.csdn.net/baidu_37107022/article/details/74853467 1、建立表時直接建立外來鍵約束 create table books( bookid number(10) not null primary ke