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字段也應該要創建索引才對,但實驗證創建關聯後自動索引了。