Rechercher : dans
Par :

Mysql DELETE CASCADE

Dernière réponse le 12 fév 2008 à 10:27:01 developper55, le 7 fév 2008 à 16:26:29 
 Signaler ce message aux modérateurs

Bonjour,

j'ai deux tables : users et upload , dont la deuxieme peut contenir un ou plusieurs lignes (fichier) d'un utilisateurs de la table 'users'
j'ai utilisé http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-co­nstraints.html pour créer le Forgein Key ,
mais si vous regardez ci-dessous la différence de la table upload avant et après la création

mon souci est que:
ex: DELETE FROM users WHERE index_users='10'
elle supprime seulement la ligne qui correspond à cet index dans la table "users" et le contenu de la table upload reste

Que pensez vous ?
j'utilise : phpMyAdmin SQL Dump version 2.9.1.1
Merci

------- table users
CREATE TABLE `users` (
`index_users` int(8) NOT NULL auto_increment,
`nom` varchar(32) default NULL,
`prenom` varchar(32) default NULL,
`username` varchar(30) default NULL,
`password` varchar(32) default NULL,
PRIMARY KEY (`index_users`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=524 ;

---------- table upload lors de la création
CREATE TABLE `upload` (
`index_upload` int(11) NOT NULL auto_increment,
`index_users` int(11) default NULL,
`name` longtext NOT NULL,
`file` mediumblob NOT NULL,
PRIMARY KEY (`index_upload`),
FOREIGN KEY (index_users) REFERENCES users(index_users)
ON DELETE CASCADE
}

---------- table upload après le dump de la base
CREATE TABLE `upload` (
`index_upload` int(11) NOT NULL auto_increment,
`index_users` int(11) default NULL,
`name` longtext NOT NULL,
`file` mediumblob NOT NULL,
PRIMARY KEY (`index_upload`),
KEY `index_users` (`index_users`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=34 ;

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « mysql DELETE CASCADE » dans :
Réinitialiser le mot de passe root de MySQL VoirQue ce soit lors de la première installation ou après la perte du mot de passe principal de MySQL, il est nécessaire de pouvoir modifier le mot de passe administrateur (root) de MySQL. Vous avez perdu le mot de passe root de MySQL ? Pour pouvoir...
Sauvegarde restauration base de données Mysql VoirL'article suivant va présenter la manière la plus facile pour sauvegarder et restaurer les bases de données Mysql. Sauvegarde Pour sauvegarder une base de données existante il est conseillé de créer un dump. Pour dumper toutes les bases de...
[MySQL] Illegal mix of collations (latin1_swedish_ci,IMPLICIT) VoirSous phpMyAdmin vous obtenez l'erreur suivante : MySQL a répondu:Documentation #1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' Ceci est dû à l'ajout des "collations" sous MySQL...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...
MySQL - Installation sous Windows VoirPrésentation de MySQL MySQL est un Système de Gestion de Bases de Données (SGBD) fonctionnant sous Linux et Windows. Depuis la version 3.23.19, MySQL est sous Licence GPL (aussi bien sous Linux que Windows), ce qui signifie qu'il peut être utilisé...
Administration de MySQL VoirLa base de données mysql Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

Alain_42, le 7 fév 2008 à 17:28:33

Bonjour,

As tu essayé:

DELETE FROM users,upload  WHERE index_users='10' 

Répondre à Alain_42

2

developper55, le 7 fév 2008 à 17:48:01

J'ai ce message, 1064 - Erreur de syntaxe près de 'WHERE index_users='10'' à la ligne 1

à mon avis , il faut supprimer dans chaque table séparemment
si ce le cas , je ne voie plus l'importance du Forgein key !!!

Répondre à developper55

3

Alain_42, le 7 fév 2008 à 17:55:40
Répondre à Alain_42

4

 developper55, le 12 fév 2008 à 10:27:01

Merci

Répondre à developper55