Creation d'une table à partir d'une autre table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Creation d'une table à partir d'une autre table

par pjl » 10 avr. 2008, 15:10

Renseigne toi un peu sur les clefs étrangères dans une base de données.

par MScam » 10 avr. 2008, 10:33

... okay... voici les tables exportés (sans les valeurs)

Code : Tout sélectionner

-- Version du serveur: 4.1.9 -- Version de PHP: 4.3.10 -- Structure de la table `competence` CREATE TABLE `competence` ( `id` tinyint(4) NOT NULL auto_increment, `competence` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -- Structure de la table `personnage` -- CREATE TABLE `personnage` ( `id` tinyint(4) NOT NULL auto_increment, `nom` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL default '', `competence` enum('comp1') character set utf8 collate utf8_unicode_ci NOT NULL default 'comp1', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

et je voudrais que la colonne competence de la table personnage soit un enum dont les valeurs soient prises parmi la colonne competence de la table competence


en tout cas, merci de prendre le temps de me répondre

par Sékiltoyai » 08 avr. 2008, 19:53

Arrête avec des exemples, poste nous le shéma réel de tes tables. Tu ne nous aides pas à t'aider. Donc tu ne t'aides pas…

par MScam » 08 avr. 2008, 19:08

enfait, il s'agissait d'un exemple, et vous n'avez pas compris ... je vais donc reprendre.

j'ai une table A qui contient ces informations :

Code : Tout sélectionner

key (tinyint) valeur (varchar) 1 Abc 2 Bcd 3 Cde
j'ai une table B qui contient ces information

Code : Tout sélectionner

key (tinyint) Noms (varchar) A (Enum) 1 Nom 1 'Abc','Bcd','Cde' 2 Nom 2 'Abc','Bcd','Cde' 3 Nom 3 'Abc','Bcd','Cde'
comment créer la table B, qui utilise une colonne de type Enum dont les valeurs sont dans la table A

par Cyrano » 07 avr. 2008, 22:06

Celui qui t'a conseillé ça n'a pas dû t'expliquer grand chose : toutes ces tables ne servent à rien et vont te pourrir l'existence plus qu'autre chose.

Une seule table "rendezvous" avec une colonne date_rdv de type DATETIME et les autres informations sur le rendez-vous sera beaucoup plus rationnelle.

Explique-nous ce que tu veux faire et on pourra te mettre sur des pistes plus pratiques :-k

par Sékiltoyai » 07 avr. 2008, 22:04

C'est une très mauvaise façon de faire. Les jours et les mois, il faut les hardcoder dans ton application, pas les mettre dans une base. Est ce que ce sont des informations qui sont amenées à changer ?
Dans ton cas, il ne te faut qu'une seule table, rendez_vous, avec un champ de type DATE, MySQL gérera lui-même les informations.

Creation d'une table à partir d'une autre table

par MScam » 07 avr. 2008, 19:35

Bonjour,

je suis débutant en php et mysql, et j'ai un problème : on m'a conseillé de créer beaucoup de tables dans ma base, afin que chaque table contient un seul type d'information.

Voici une version simplifiée de ce que je voudrais faire.

j'ai créé une table mois qui contient 12 champs, les douze mois de l'année.
j'ai crée une table jours qui contient les 7 champs, les sept jours de l'année.
j'aimerai créer une autre table rendez_vous qui contient 3 champs : jour, mois, année.

où jour prend ces valeurs dans la table jours
où mois prend ces valeurs dans la table mois.

Merci