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 un
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' ) ;
Je 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.

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
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');
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
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;
Par avance merci