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