2013-03-27 46 views
0

目前我在mySQL數據庫中有一個表,我想連接到另一個需要創建的表。第二個表格只有2列,即member_id和product列。產品列中有多個條目用於同一個member_ID,並且產品列將成爲另一個表的外鍵。在mySQL中創建一個連接到上一個表的主鍵的新表

下面是SQL代碼我用來創建初始的登錄表:

'CREATE TABLE `members`( 
`member_id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
`firstname` varchar(100) DEFAULT NULL, 
`lastname` varchar(100) DEFAULT NULL, 
`login` varchar(100) NOT NULL DEFAULT \'\', 
`passwd` varchar(32) NOT NULL DEFAULT \'\', 
PRIMARY KEY (`member_id`)) 
ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8' 

如果有人能告訴我如何創建第二個表連接到member_id那將是巨大的。

+0

您可以在其[文檔頁面](http://dev.mysql.com/doc/refman/5.5/en/create-table-foreign-keys.html)上閱讀MySQL外鍵語法。正如其他人所提到的,創建表時需要使用InnoDB引擎,以便使用FK。 – Perception 2013-03-27 11:23:46

+0

嘗試使用合併存儲引擎,它結合了您的第一個和第二個表格 – vidyadhar 2013-03-27 12:15:22

回答

1

MyISAM存儲引擎不支持外鍵。如果您想通過使用外鍵確保數據完整性您需要使用其他存儲引擎,例如。 InnoDB的

使用MyISAM數據不能定義外鍵,但您仍可以定義表如下: http://sqlfiddle.com/#!2/4cb9c/1/0

請注意,創建索引,以保證不俗的表現爲連接是非常重要的。如果你想使用InnoDB和外鍵,那麼不需要顯式創建索引,因爲添加一個外鍵會創建一個隱式索引。

+0

問題可能在我回答後更新。我編輯了答案。現在應該更有幫助。 – 2013-03-27 11:36:06

相關問題