本篇文章將為大家介紹如何在MySQL多對多案例中添加新的案例。
首先,我們需要創(chuàng)建兩個表,用于存放案例和標簽信息。案例表包括案例ID、案例名稱、案例描述等內(nèi)容;標簽表包括標簽ID、標簽名稱等內(nèi)容。
CREATE TABLE `case` ( `case_id` int(11) NOT NULL AUTO_INCREMENT, `case_name` varchar(50) NOT NULL, `case_desc` varchar(200) NOT NULL, PRIMARY KEY (`case_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; CREATE TABLE `tag` ( `tag_id` int(11) NOT NULL AUTO_INCREMENT, `tag_name` varchar(50) NOT NULL, PRIMARY KEY (`tag_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
接下來,我們需要創(chuàng)建一個中間表來記錄案例和標簽的關(guān)系。中間表包括案例ID、標簽ID兩個字段,用來記錄案例和標簽之間的關(guān)系。
CREATE TABLE `case_tag` ( `case_id` int(11) NOT NULL, `tag_id` int(11) NOT NULL, PRIMARY KEY (`case_id`,`tag_id`), KEY `case_id` (`case_id`), KEY `tag_id` (`tag_id`), CONSTRAINT `case_tag_case_id_fk` FOREIGN KEY (`case_id`) REFERENCES `case` (`case_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `case_tag_tag_id_fk` FOREIGN KEY (`tag_id`) REFERENCES `tag` (`tag_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
現(xiàn)在,我們可以向案例表和標簽表中添加新的數(shù)據(jù)了。
INSERT INTO `case` (`case_name`, `case_desc`) VALUES ('案例1', '這是一個新的案例'); INSERT INTO `tag` (`tag_name`) VALUES ('標簽1');
接著,我們需要將新添加的案例和標簽進行關(guān)聯(lián)。在case_tag表中添加新的記錄。
INSERT INTO `case_tag` (`case_id`, `tag_id`) SELECT `case`.`case_id` , `tag`.`tag_id` FROM `case`, `tag` WHERE `case`.`case_name` = '案例1' AND `tag`.`tag_name` = '標簽1';
代碼執(zhí)行完畢后,我們就成功地向MySQL多對多案例中添加了新的案例。