删除级联MySQL

时间:2018-02-05 09:07:47

标签: mysql sql phpmyadmin

我有表prodottipublic

Table 1

我有表roles_prodotti

Table 2

我想,当删除prodottipublic中记录为id:10的记录时,会自动删除role_prodotti表中列prodotto_id相同10的所有记录。

这是创建表格代码:

CREATE TABLE `prodottipublic` (  `id` int(11) UNSIGNED ZEROFILL NOT NULL,  `attivo` int(1) NOT NULL,  `nome` varchar(100) DEFAULT NULL,  `immagine` varchar(150) DEFAULT NULL,  `immaginesx` varchar(150) DEFAULT NULL,  `descrizione` text NOT NULL,  `sololistino` int(1) NOT NULL DEFAULT '0',  `listino` decimal(10,2) NOT NULL,  `sconto` int(2) DEFAULT '0',  `prezzo` decimal(10,2) DEFAULT '0.00',  `categoria_id` int(11) NOT NULL,  `meta_keywords`text,  `attributi` json NOT NULL,  `created_at` timestamp NULL DEFAULT NULL,  `updated_at` timestamp NULL DEFAULT NULL) ENGINE=InnoDB DEFAULTCHARSET=utf8;


CREATE TABLE `roles_prodotti` (  `prodotto_id` int(11)  UNSIGNED ZEROFILL NOT NULL,  `role_id` nt(11) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题:

ALTER TABLE `roles_prodotti` ADD CONSTRAINT ID_prodotto FOREIGN KEY (`prodotto_id`) REFERENCES `prodottipublic`(`id`)ON DELETE CASCADE

之前有空的roles_prodotti