我有表prodottipublic
:
我有表roles_prodotti
:
我想,当删除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;
答案 0 :(得分:0)
我已经解决了这个问题:
ALTER TABLE `roles_prodotti` ADD CONSTRAINT ID_prodotto FOREIGN KEY (`prodotto_id`) REFERENCES `prodottipublic`(`id`)ON DELETE CASCADE
之前有空的roles_prodotti