Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 2 sur 3
Aller à la page: <  1, 2, 3  >
[mySQL] Création de x tables à gérer
Auteur Message
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Revue du message précédent :

non, le champs lié au combo est dans la table contacts ("combo_n_value")

EDIT: exemple pour que tu comprenne mon idée:

TABLE ContactMe:
id;nom;prenom;email;mobile;id_combo_1;combo_1_value;id_combo_2;combo_2_value;id_combo_3;combo_3_value
1;GAGA;Laddy (je sais c'est nul);Laddy@domaine.com;06 XX XX XX XX;1;XXXXX-XXXX-XXXXXXX-XXXX;2;licence_antivirus XXXXX;3;XXX-XX-XXXXXX-XXXX

TABLE combo_1:
id;name_combo
1;Windows
2;Linux
3;Unix

TABLE combo_2:
id;name_combo
1;avast
2;mcafee
3;norton

TABLE combo_3:
id;name_combo
1;office 2003
2;office 2007
3;office 2010

CE QUI DONNE:

Laddy GAGA
Laddy@domaine.com
tel 06 XX XX XX XX
Windows XXXXX-XXXX-XXXXXXX-XXXX
mcafee licence_antivirus XXXXX
office 2010 XXX-XX-XXXXXX-XXXX

EDIT: d’ailleurs pour optimiser les requêtes tu peut mettre directement les valeurs dans les champs id_combo_n et te servir des tables combo uniquement quand tu créé un utilisateur, comme sa tu à une base de donnée fiable et flexible qui te permet facilement d'ajouter des système d’exploitation ou des antivirus par exemple. Et tu ne fait qu'un seul requette pour afficher les informations d'un contact sans passer par les tables combo.

Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [mySQL] Création de x tables à gérer 
Si je comprends bien ton idée, les informations des tables combox sont déjà stockés dans la bdr ?
Et je dois me baser sur ces entrées pour extraire les infos des différentes tables pour les combox afin de faire la selection dans mon formulaire ? ai je bien saisi ?

dans mon idée je partais avec un tableau ds mon code autoit qui lister les win, office etc... dans les combox

Code:

Dim $Office[8] = ["Office Famille et Etudiants 2007", "Office Business 2007", "Office Pro 2007", "Office Pro Plus 2007", _
"Office Famille et Etudiants 2010", "Office Famille et Entreprise 2010", "Office Professionnel 2010"]






______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
enfaite mon idée c 'est bien de stocker toutes les informations "brut" dans la table contenant tous tes contacts. ensuite la liste des choix des combos se trouve dans les tables combos qui seront utilisé uniquement à la création/modification d'un contact. donc quand tu souhaite afficher un contact une seule requête suffit.

Laddy a écrit:
Si je comprends bien ton idée, les informations des tables combox sont déjà stockés dans la bdr ?

eh bien vu que dans ton screenshot tu souhaite avoir des champs pré-rempli, ces infos se trouverons dans les tables combos associés.
MAIS les valeurs ou information se trouverons dans la table des contacts y compris le nom des combos (copie automatique de la valeur sélectionné à partir de la table combo vers la table des contacts)

Laddy a écrit:
Et je dois me baser sur ces entrées pour extraire les infos des différentes tables pour les combox afin de faire la sélection dans mon formulaire ?

HEIN ?????
Si formulaire = création/modif de contacts alors oui tu devra chercher les infos à mettre dans tes champs pré-rempli dans les tables combos. les tables combos ne serve qu'a sa.

Laddy a écrit:
dans mon idée je partais avec un tableau ds mon code autoit qui lister les win, office etc... dans les combox

comment sa ? un tableau dans ton programme qui affiche des statistiques sur l’utilisation des OS, antivirus et office ?



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Le plus dur reste à créer les tables maintenant.

Pour la combox regarde cette exemple pour mieux comprendre, les infos ne sont pas stockés dans la bdr mais dans le code lui meme en utilisant un tableau.

http://www.box.com/s/dmblc5jz72gfjdueqd0b




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Dans ce cas ya même pas besoin de tables combo !
la seule table des contacts suffit. et créer une table c'est pas dur puisque c'est faisable avec une requête (suffit d'avoir la bonne syntaxe).
donc tous tes problèmes sont résolu ? ^^

j'ai une question au passage: tu utilise une base mysql avec ton programme pour prendre en main l'utilisation de bases de données ?



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Mdr, c'est clair dans ta tête mais pas dans la mienne.



J'ai fait y a très longtemps du mysql avec php /c'était y a 10 ans au moins je me souviens de rien (autodidacte)
et j'ai vu que autoit pouvait gérer mysql du coup je fais une pierre de coup car je serai incapable de le faire en php.

Je pense que ton idée de stocker les tables combox est une bonne idée pour en ajouter d'autres via un autre formulaire par exemple (genre d'administration : ajout nouvelles catégories ou autres)
Faut que je regarde pour créer les tables maintenant.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
ok Smile



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Je poste un screenshot des tables dès que j'aurai réussi à les faire.

J'ai trouvé DBdesign C'est un soft pour dessiner les bdr exemple

http://fabforce.net/dbdesigner4/images/ss/dbd4_ss_simplemodel.png
C'est pas mal comme soft je pense qu'avec ça je peux mieux voir de quoi je parle car je suis complètement perdue

Cmanix je suis restée sur ton idée pour le moment
En attendant que sablier me donne son avis aussi Very Happy

mE DIRE SI JE ME trompe merci



Code:
CREATE TABLE `WIN` (
`idWin` INT  NOT NULL AUTO_INCREMENT  ,
`Nom_Win` VARCHAR(255) NULL ,
PRIMARY KEY (idWin)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ;

INSERT INTO `WIN` values (1,'WIN XP HOME_32') ;
INSERT INTO `WIN` values (2,'WIN XP HOME_64') ;
INSERT INTO `WIN` values (3,'WIN XP PRO_32') ;
INSERT INTO `WIN` values (4,'WIN XP PRO_64') ;
INSERT INTO `WIN` values (5,'VISTA Basique_32') ;
INSERT INTO `WIN` values (6,'VISTA Basique_64');
INSERT INTO `WIN` values (7,'VISTA Prem_32') ;
INSERT INTO `WIN` values (8,'VISTA Prem_64') ;
INSERT INTO `WIN` values (9,'VISTA Entreprise_32');
INSERT INTO `WIN` values (10,'VISTA Entreprise_64');
INSERT INTO `WIN` values (11,'VISTA Integral_32');
INSERT INTO `WIN` values (12,'VISTA Integral_64');
INSERT INTO `WIN` values (13,'WIN 7 Starter_32');
INSERT INTO `WIN` values (14,'WIN 7  Prem_32');
INSERT INTO `WIN` values (15,'WIN 7 Prem_64') ;
INSERT INTO `WIN` values (16,'WIN 7 Pro_32') ;
INSERT INTO `WIN` values (17,'WIN 7 Pro_64');
INSERT INTO `WIN` values (18,'WIN 7 Integrale_32');
INSERT INTO `WIN` values (19,'WIN 7 IntegraEl_64');



Code:
CREATE TABLE `VIRUS` (
`id_VIRUS` INT  NOT NULL AUTO_INCREMENT  ,
`Nom_ANTIVIRUS` VARCHAR(255)  NULL ,
PRIMARY KEY (id_Virus)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `VIRUS` values (1,'Norton Antivirus 2012') ;
INSERT INTO `VIRUS` values (2,'Norton 360 2012');
INSERT INTO `VIRUS` values (3,'Norton Internet Security 2012') ;
INSERT INTO `VIRUS` values (4,'Kaskpersky Antivirus 2012') ;
INSERT INTO `VIRUS` values (5,'Kaspersky Pure 2012') ;
INSERT INTO `VIRUS` values (6,'Kaspersky Internet Security 2012') ;
INSERT INTO `VIRUS` values (7,'Mac Afee Security') ;
INSERT INTO `VIRUS` values (8,'Panda Internet Security') ;


Code:
CREATE TABLE `VerOffice` (
`id_VerOffice` INT  NOT NULL AUTO_INCREMENT  ,
`Nom_Office` VARCHAR(255)  NULL ,
PRIMARY KEY (id_VerOffice)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;


INSERT INTO `VerOffice` VALUES (1,'Office Famille et Etudiants 2007') ;
INSERT INTO `VerOffice` VALUES (2,'Office Business 2007') ;
INSERT INTO `VerOffice` VALUES (3,'Office Pro 2007')  ;
INSERT INTO `VerOffice` VALUES (4,'Office Pro Plus 2007') ;
INSERT INTO `VerOffice` VALUES (5,'Office Famille et Etudiants 2010') ;
INSERT INTO `VerOffice` VALUES (6,'Office Famille et Entreprise 2010') ;
INSERT INTO `VerOffice` VALUES (7,'Office Pro 2010')



Code:
CREATE TABLE `ContactMe` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`Nom` VARCHAR( 255 ) NOT NULL ,
`Prénom` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
`mobile` VARCHAR( 255 ) NOT NULL ,
`idWIN` INT NOT NULL,
`LicenceKey` VARCHAR( 255 ) NOT NULL ,
`id_VIRUS` INT NOT NULL,
`KeyLicence` VARCHAR( 255 ) NOT NULL ,
`id_VerOffice`INT NOT NULL,
`Key` VARCHAR( 255 ) NOT NULL ,

) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ;




Dernière édition par Laddy le Jeu 16 Fév 2012 - 07:25; édité 2 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
DBdesign... comment dire.... moi sa me prend la tête ce genre de schémas^^ mais c'est vrai qu'il est utile d'avoir une vue d'ensemble quand on s'aventure dans des choses complexe.



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Après correction de coquilles, la création des tables combo c'est bien passé
Me reste la table contactme à faire
je ne suis pas sur de ma syntaxe surtout




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Quelqu pourrait il me dire pourquoi je n'arrive pas à mettre mes id dans la tables contactme ?

Code:
ALTER TABLE contactme
ADD FOREIGN KEY (idWin)
REFERENCES win(idWin)
ADD FOREIGN KEY (id_VerOffice)
REFERENCES veroffice(id_VerOffice)
ADD FOREIGN KEY (id_VIRUS)
REFERENCES virus(id_VIRUS)


Il me dit que la table n'existe pas.
#1072 - Key column 'id_VerOffice' doesn't exist in table
ça me parait logique vue que je souhaite l'ajouter.

J'ai suivi ce qu'il dise ici : http://www.w3schools.com/sql/sql_foreignkey.asp



Dernière édition par Laddy le Jeu 16 Fév 2012 - 16:55; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
j'essaye de me rensegner sur la commande FOREIGN KEY car je ne comprend pas ce que tu veux faire ...

de plus pour moi le message dit que la colonne "id_VerOffice" n'existe pas dans la table et pas que la table n'existe pas.

ensuite je trouve bizarre que le message d'erreur concerne la colonne "id_VerOffice", sa voudrai dire que la commande pour "idWin" ne pose pas de problème ...

EDIT: première info: seule INNODB supporte cette commande, tu dois donc le préciser.
http://dev.mysql.com/doc/refman/5.0/fr/innodb-foreign-key-constraints.html

EDIT: deuxieme info:
Depuis la version 3.23.50, InnoDB vous permet d'ajouter une nouvelle clé à une table, grâce à la syntaxe
ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
N'oubliez pas de commencer par créer les index nécessaires en premier!. Vous pouvez aussi ajouter des clés étrangères reflexives, en utilisant la commande ALTER TABLE.


EDIT: troisieme chose: est-tu sur que la ligne "REFERENCES veroffice(idWin)" que tu à indiqué est correcte ? sa serait pas plutôt "REFERENCES WIN (idWin)" ?



Répondre en citant
Message [mySQL] Création de x tables à gérer 
oui c'est une erreur de copier coller
j'essaie d'ajouter dans ma table contactme, les clés primaires des autres tables win, veroffice et virus.
Et je n'y parviens pas.

Ce que j'avais lu sur internet c'est que FOREIGN KEY permettait d'ajouter une clé primaire provenant d'une autre table

Ce que j'essaie de faire pour rester dans ton idée :

Cmamix dit : id;nom;prenom;email;mobile;id_combo_1;combo_1_value;id_combo_2;combo_2_value;id_combo_3;combo_3_value

J'ai déja les tables id, nom prenom mail mobile
me manque id_combo_1;combo_1_value;id_combo_2;combo_2_value;id_combo_3;combo_3_value

donc d'apres ce que j ai lu c était

ALTER TABLE contactme
ALTER COLUMN Key_Win varchar(255)
ALTER COLUMN KEY_Office varchar(255)
ALTER COLUMN KEY_Virus varchar(255)

Manque les clés primaires des autres tables... : idWin ; id_VerOffice, id_VIRUS




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
mais pourquoi tu veux faire une modification et pas recréer totalement ta table ? c'est pacque tu a des données que tu ne souhaite pas supprimer ?

pacque sa fait partie de ton code qui créé la base de donnée non ?



Répondre en citant
Message [mySQL] Création de x tables à gérer 
ben oui je n ai pas envie de détruire ma table car j ai eu des soucis la fois précédente donc je cherche à ajouter les informations manquantes et c est pour apprendre

J ai changé le type de table en innodb ET nada j ai toujours le meme message d erreur je comprend pas pourquoi.

Du coup j'ai du sauvegarder toutes les tables j ai modifié manuellement le fichier sql pour mettre innobd mais pareil ça passe pas je comprend pas pourquoi...


Code:
Requête SQL:

ALTER TABLE contactme ALTER COLUMN Key_Win VARCHAR( 255 ) ;


MySQL a répondu:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(255)' at line 2



Edit surement ceci à faire

Citation:

ALTER TABLE contactme
ALTER COLUMN Key_Win varchar(255) NULL ;
ALTER COLUMN KEY_Office varchar(255) NULL ;
ALTER COLUMN KEY_Virus varchar(255) NULL;



Code Bon
Code:
ALTER TABLE contactme
ADD Key_Win varchar(255) NULL ,
ADD KEY_Office varchar(255) NULL,
ADD KEY_Virus varchar(255) NULL


Modifier un truc dans la table
ALTER TABLE `contactme` CHANGE `Key_Win` `Key_Win` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL

Je resterai
Code:

ALTER TABLE contactme
ADD FOREIGN KEY (idWin)
REFERENCES win(idWin) ;
ADD FOREIGN KEY (id_VerOffice)
REFERENCES veroffice(id_VerOffice) ;
ADD FOREIGN KEY (id_VIRUS)
REFERENCES virus(id_VIRUS) ;





Dernière édition par Laddy le Ven 17 Fév 2012 - 13:19; édité 3 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
le problème c'est que moi je commence à sécher ^^. j'ai jamais utilisé la commande ALTER. peut-être que quelqu'un de plus confirmé que moi pourra t'aider pour la suite.



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Moi non plus c est surement un truc tout bête....Je regarde à midi

eDIT :
j ai demandé de l aide sur developpez verra bien ; http://www.developpez.net/forums/d1187148/bases-donnees/mysql/requetes/ajou…




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [mySQL] Création de x tables à gérer 


Montrer les messages depuis:
Répondre au sujet Page 2 sur 3
Aller à la page: <  1, 2, 3  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch