Bonjour à tous et à toutes

j'essaye de faire une contrainte de clé étrangère comme dans ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
CREATE TABLE `est_sous_menu_de` (
  `idSousMenu` tinyint(3) unsigned NOT NULL,
  `idMenu` tinyint(4) NOT NULL,
  PRIMARY KEY  (`idSousMenu`,`idMenu`),
  KEY `idMenu` (`idMenu`),
  FOREIGN KEY (idSousMenu) REFERENCES menu(idItem) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY (idMenu) REFERENCES menu(idItem) ON DELETE CASCADE ON UPDATE CASCADE
)
le problème c'est que cette contrainte n'est pas respectée du tout !
je peux ajouter des données qui ne figurent pas dans la table menu !

Que faire ? merci d'avance..