3

私はそのようなテーブルを持っています:

 CREATE TABLE `jngi_category` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `Name` varchar(50) NOT NULL,
      `parent` int(11) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

そして、私が欲しいのは、親がすべての子を削除するときに、そのように削除することです。外部キーによって定義される関係がある場合は、それが自動的に行われるのは良いことです。

4

2 に答える 2

4

parentこの列に外部キー制約を追加しますON DELETE CASCADE

CONSTRAINT `FK_ParentCategory` FOREIGN KEY (`parent`)
REFERENCES jngi_category(id) ON DELETE CASCADE ON UPDATE CASCADE

SQLフィドルデモ

于 2013-03-26T08:23:38.573 に答える
2

このSQLを試してください

CREATE TABLE jngi_category (
      id int(11) NOT NULL auto_increment,
      Name varchar(50) NOT NULL,
      parent int(11),
      PRIMARY KEY (id),
      foreign key (parent) references jngi_category(id) on delete cascade
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ;
于 2013-03-26T08:57:35.020 に答える