ON DELETE CASCADE has no effect
What version of MySQL are you using? I tested the following with 10.1.16-MariaDB, and it appears to be working:

CREATE TABLE Campagne
( id_campagne INT NOT NULL AUTO_INCREMENT
, PRIMARY KEY (id_campagne) ) ENGINE=INNODB;

CREATE TABLE ChildTable 
( id_child INT(9) NOT NULL AUTO_INCREMENT
, id_campagne INT NOT NULL
, PRIMARY KEY (id_child)
, CONSTRAINT FK_campagne_id_campagne 
      FOREIGN KEY (id_campagne) 
      REFERENCES Campagne (id_campagne) ON DELETE CASCADE 
) ENGINE=INNODB;

insert into Campagne (id_campagne) values (DEFAULT);
insert into ChildTable (id_child, id_campagne) values (DEFAULT, 0);
select * from Campagne;                                         
+-------------+
| id_campagne |
+-------------+
|           0 |
+-------------+

select * from ChildTable;
+----------+-------------+
| id_child | id_campagne |
+----------+-------------+
|        0 |           0 |
+----------+-------------+

delete from Campagne where id_campagne = 0;
select * from ChildTable;
Empty set (0.00 sec)