mysqlテーブルに複数の外部キーを追加/外部キー/カスケード制約を追加


  • テーブルの作成時に外部キーを作成する:
  • CREATE TABLE`xh` (
     `id` int(100) unsigned NOT NULL AUTO_INCREMENT COMMENT ,
     `cl_id` smallint(3) unsigned NOT NULL COMMENT,
     `title` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT ,
     `details` text COLLATE utf8_unicode_ci NOT NULL COMMENT ,
     `date` datetime NOT NULL COMMENT ,
     `au_id` smallint(6) unsigned NOT NULL COMMENT ,
     `click` int(100) unsigned NOT NULL DEFAULT '0' COMMENT ,
     `reco` int(100) unsigned NOT NULL DEFAULT '0' COMMENT,
     PRIMARY KEY (`id`),
     KEY `fk_class` (`cl_id`),
     CONSTRAINT `fk_class`FOREIGN KEY  (`cl_id`)  REFERENCES  `fl` (`id`),
     KEY `fk_author` (`au_id`),
     CONSTRAINT `fk_author` FOREIGN KEY (`au_id`) REFERENCES `author` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci  
  • 表を作成した後に外部キーを作成する:
  • Alter Table `ym` Add Constraint `fk_author` Foreign Key (`au_id`) References `author` (`id`);   
  • 表構造の表示:
  • Show Create Table `ym`; 

    4.カスケード:末尾に追加可能(単独で追加するか、すべて追加可能):
    ON UPDATE CASCADE(    )
    ON DELETE CASCADE(    ) 

    例:
    ALTER TABLE `ym`  ADD  CONSTRAINT  `fk_author`  FOREIGN  KEY  (`au_id`)