bonjour à tous !
avant toute présentation de mon soucis, je vous présente la structure de ma base :
soit 2 tables :
brands :
et typ :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Structure de la table `brands` -- CREATE TABLE IF NOT EXISTS `brands` ( `ID_marques` int(11) NOT NULL AUTO_INCREMENT, `marques` varchar(255) NOT NULL, PRIMARY KEY (`ID_marques`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
Je développe en ce moment des pages PHP ou l'utilisateur renseigne le champ 'type'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE IF NOT EXISTS `typ` ( `ID_type` int(255) NOT NULL AUTO_INCREMENT, `ID_marques` int(255) NOT NULL, `type` varchar(255) NOT NULL, PRIMARY KEY (`ID_type`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=28 ;
Suite à l'envoi des données de mon formulaire,
la table 'typ' est mise à jour concernant le champ 'type'. (pour ça no problem)
LE problème :
Je souhaite que la nouvelle ligne 'type', soit complétée par la dernière 'marques' enregistrée sur la table 'brands', champ : 'ID_marques' (commun aux deux tables).
Ce problème se pose sur 3 tables mais je pense que la méthode que vous pourriez me donner s'appliquera aussi à 3 tables avec des champs communs dont les données sont répliquées.
J'ai tenté une requête :
mais j'ai une erreur de syntaxe à la dernière ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 INSERT INTO `typ` (`ID_marques`, `type`) SELECT `ID_marques` FROM `brands` ORDER BY `ID_marques` DESC LIMIT 1 VALUES (`brands.ID_marques`, `toto`) ;
voilààààà ! si quelqu'un est inspiré...
@peluche !
Partager