Bonjour,
Voilà je teste la notion d'héritage sous mysql (dans un contexte php).
Voila un exemple très simple. J'ai 2 tables 'personne' et 'prospect'.
la table prospect est un sous type de personne. Les deux tables partagent donc la même clé primaire 'id_pers' qui est auto incrémentée.
Question 1 - comment insérer un nouveau prospect en une ligne de commande ?
(ex : je veux insérer Michel BRES menuisier)
Pour le moment, je ne vois qu'une solution.
J'insère d'abord michel BRES dans la table personne.
Je récupère l'id_pers créé et ensuite j'insère menuisier dans la table prospect.
via unJe trouve cela un peu lourd à gérer. Peut-on faire plus simple sachant que la version de mysql que j'utilise ne gère pas l'héritage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 INSERT INTO `prospect` ( `id_pers` , `metier` ) VALUES ( id_récupéré, 'menuisier' ) ;
Question 2- comment modifier tous les attributs d'un prospect en une ligne de commande ?
Ci-dessous le code sql pour créer ces tables.
Table personne
table prospect
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CREATE TABLE `personne` ( `id_pers` int(11) NOT NULL auto_increment, `nom` varchar(100) NOT NULL default '', `prenom` varchar(20) NOT NULL default '', PRIMARY KEY (`id_pers`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Contenu de la table `personne` -- INSERT INTO `personne` (`id_pers`, `nom`, `prenom`) VALUES (1, 'Marrec', 'jean'), (2, 'dupond', ''), (3, 'durand', 'Paul');
Par avance merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 CREATE TABLE `prospect` ( `id_pers` int(11) NOT NULL auto_increment, `metier` varchar(100) NOT NULL default '', PRIMARY KEY (`id_pers`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; -- -- Contenu de la table `prospect` -- INSERT INTO `prospect` (`id_pers`, `metier`) VALUES (1, 'joueur'); -- -- Contraintes pour les tables exportées -- -- -- Contraintes pour la table `prospect` -- ALTER TABLE `prospect` ADD CONSTRAINT `FK_personne_prospect` FOREIGN KEY (`id_pers`) REFERENCES `personne` (`id_pers`) ON DELETE CASCADE ON UPDATE CASCADE;
Partager