简体   繁体   English

删除级联MySQL

[英]Delete cascade MySQL

I have table prodottipublic : 我有桌子prodottipublic

表格1

and I have table roles_prodotti : 而且我有表roles_prodotti

表2

I want, when delete record in prodottipublic with id: 10 for example, automatically delete all records with column prodotto_id same 10 in roles_prodotti table. 我想要删除ID为10的prodottipublic中的记录时,自动删除role_prodotti表中prodotto_id列为10的所有记录。

this is create table codes: 这是创建表代码:

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;

i have solved with this: 我已经解决了:

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

and before have empty roles_prodotti 并且之前有空的role_prodotti

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM