1

このテーブル作成スクリプトにカスケード削除を追加するにはどうすればよいですか? id_fk は mytable テーブルから取得されます。

 CREATE TABLE IF NOT EXISTS `ip` (

  `ip_id` int(11) NOT NULL AUTO_INCREMENT,

  `id_fk` int(11) DEFAULT NULL,

  `ip_add` varchar(40) DEFAULT NULL,

  PRIMARY KEY (`ip_id`),

  KEY `id_fk` (`id_fk`)

) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
4

2 に答える 2

2

これを試して:

ALTER TABLE `ip`
ADD CONSTRAINT `FK_mytable` FOREIGN KEY (`id_fk`) REFERENCES `mytable` (`id`)   
ON DELETE CASCADE ON UPDATE CASCADE;

お役に立てれば!

于 2012-10-24T11:07:01.047 に答える
0

外部キー制約を追加し、何をいつ行うかを指定します。

 ALTER TABLE ip
    ADD CONSTRAINT constraint_name
        FOREIGN KEY index_name(id_fk)
            REFERENCES other_table(other_column_name)
                ON DELETE CASCADE
                ON UPDATE CASCADE;

テーブル定義に制約を直接含めることができます。

FOREIGN KEY index_name(id_fk)
    REFERENCES other_table(other_column_name)
        ON DELETE CASCADE
        ON UPDATE CASCADE;
于 2012-10-24T11:05:04.387 に答える