0

現在、作成する必要のある別のテーブルに接続したい1つのテーブルがmySQLデータベースにあります。2番目のテーブルには、member_id列とproduct列の2つの列があります。同じmember_IDのproduct列には多くのエントリがあり、product列は別のテーブルの外部キーになります。

最初のログインテーブルを作成するために使用した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に接続するための2番目のテーブルを作成する方法を教えてくれるとしたら、それは素晴らしいことです。

4

1 に答える 1

1

MyISAMストレージエンジンは外部キーをサポートしていません。外部キーを使用してデータの整合性を確保したい場合は、別のストレージエンジンを使用する必要があります。InnoDB

MyISAMの使用外部キーを定義することはできませんが、テーブルを次のように定義することはできます: http ://sqlfiddle.com/#!2/4cb9c/1/0

結合のパフォーマンスを適切に保つために、インデックスを作成することが重要であることに注意してください。InnoDBと外部キーを使用する場合は、外部キーを追加すると暗黙的なインデックスが作成されるため、明示的なインデックスを作成する必要はありません。

于 2013-03-27T11:10:54.617 に答える