程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL創建關聯表的方法

MySQL創建關聯表的方法

編輯:關於MYSQL數據庫

MySQL創建關聯表是非常基礎的知識,下面就為您舉例說明MySQL創建關聯表的方法,如果您對MySQL創建關聯表方面感興趣的話,不妨一看。

MySQL創建關聯表可以理解為是兩個表之間有個外鍵關系,但這兩個表必須滿足三個條件
1.兩個表必須是InnoDB數據引擎
2.使用在外鍵關系的域必須為索引型(Index)
3.使用在外鍵關系的域必須與數據類型相似
下面分別建兩個表來說明一下:

Create TABLE IF NOT EXISTS `books` (   
  `book_id` smallint(6) NOT NULL auto_increment COMMENT '書籍編號',   
  `book_name` char(20) NOT NULL COMMENT '書名',   
  `book_pic` varchar(200) NOT NULL COMMENT '封面',   
  `book_author` char(20) NOT NULL COMMENT '作者',   
  `book_pub` char(40) NOT NULL COMMENT '出版社',   
  `book_sort` char(6) NOT NULL COMMENT '分類',   
  `book_owner` char(6) default NULL COMMENT '所有者',   
  `book_borrower` char(7) default NULL COMMENT '借閱者',   
  `book_borrower_time` date default NULL COMMENT '借閱時間',   
  PRIMARY KEY  (`book_id`),   
  INDEX (book_borrower))   
ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=5 ;  
 
Create TABLE IF NOT EXISTS `parts` (   
  `part_id` smallint(6) NOT NULL COMMENT '成員編號',   
  `part_name` varchar(6) NOT NULL COMMENT '成員名',   
  `part_mail` varchar(50) NOT NULL COMMENT '郵箱',   
  `part_pass` varchar(20) NOT NULL COMMENT '密碼',   
  PRIMARY KEY  (`part_id`),   
FOREIGN KEY(part_name) REFERENCES books(book_borrower) on delete cascade on update cascade)   
ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;  
 分析一下books表和parts表,創建他們的關聯,我用了books表的book_borrower字段 創建表時索引並選擇InnoDB為表引擎。而parts表即part_name字段為外鍵,關聯到books表的book_borrower字段.注意兩 個字段分別是char和varchar都是字符串類型。on delete cascade意思為當books表有相關記錄刪除時,那parts表也會跟著刪除相關聯的記錄. 理論上parts表的part_name字段也應該要創建索引才對,但實驗證創建關聯後自動索引了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved