Mysql - tables dynamiques

Fermé
chris - 13 févr. 2007 à 15:52
 chris - 13 févr. 2007 à 19:16
Bonjour,

J'ai un problème de définition de tables dynamiques en sql. (déjà est-ce que ça existe ?)
Je m'explique: j'ai une table T ds laquelle il y a une entrée "nombre d'enfants":

create table T (
nom varchar(30) NOT NULL,
prenom varchar(30) NOT NULL,
nb_enfants tinyint(2),
prenom_enfant1 varchar(30),
prenom_enfant2 varchar(30),
...
;

alors si qq rentre 4 comme nb d'enfants je voudrais qu'il y ait 4 champs pour des prenoms de ces enfants. de même s'il entre 1 ou 8, je voudrais qu'il y ait autant de champs de prénom des enfants.
Y a-t il une solution à ce problème ? S'il n'y a pas possibilité de créer des champs ds une table dynamiquement que me proposez vous ?

Merci d'avance

2 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
13 févr. 2007 à 15:58
Bonjour,

Je ne pense pas que ce genre de choses soient directement possibles. (En fait, je suis presque sûr que non).

Ce que je te proposes : une seconde table, qui contient trois champs :
nom_parent | prénom_parent | prénom_enfant

Comme ça, avec un nom/prénom des parents, tu peux retrouver la liste des enfants.

Xavier
0
Merci beacoup Reivax962, effectivement c'est une solution.
Par contre je me demandais s'il n'y avait pas plus simple mais ayant réfléchis je crois pas. Si toute de même qq avait une autre idée.

En tout cas merci pour ta réponse.
0