Xeon Posté 12 Janvier 2007 Partager Posté 12 Janvier 2007 Bonjour, Je me forme en php Mysql. J'étudie actuellement un programme de vente en ligne. Pour l'instant je suis sur les tables. Je me pose deux questions sur une table : CREATE TABLE `commandes` ( `id` int(11) NOT NULL auto_increment, `nom_utilisateur` varchar(16) NOT NULL default '', `b_nom` varchar(255) NOT NULL default '', `b_prenom` varchar(255) NOT NULL default '', `b_societe` varchar(255) NOT NULL default '', `b_adresse` text NOT NULL, `b_cp` varchar(10) NOT NULL default '', `b_ville` varchar(255) NOT NULL default '', `b_pays` varchar(255) NOT NULL default '', `s_nom` varchar(255) NOT NULL default '', `s_prenom` varchar(255) NOT NULL default '', `s_societe` varchar(255) NOT NULL default '', `s_adresse` text NOT NULL, `s_cp` varchar(255) NOT NULL default '', `s_ville` varchar(255) NOT NULL default '', `s_pays` varchar(255) NOT NULL default '', `b_tel` varchar(20) NOT NULL default '', `b_email` varchar(255) NOT NULL default '', `s_tel` varchar(20) NOT NULL default '', `s_email` varchar(255) NOT NULL default '', `o_timestamp` datetime default NULL, `date_commande` date NOT NULL default '0000-00-00', `a_timestamp` datetime default NULL, `id_trans` varchar(255) NOT NULL default '0', `statut` tinyint(4) default NULL, `statut_details` varchar(255) default NULL, `client_info1` text, `client_info2` text NOT NULL, `commentaires` text, `montant` float(5,2) default NULL, `paiement` varchar(25) NOT NULL default '', `transport` varchar(25) NOT NULL default '', `cout_transport` float(5,2) NOT NULL default '0.00', `poids` float(5,2) NOT NULL default '0.00', `etat_commande` varchar(255) NOT NULL default '', `etat_paiement` varchar(255) NOT NULL default '', `zone` varchar(255) NOT NULL default '', `type` varchar(255) NOT NULL default '', `remboursement` float(5,2) NOT NULL default '0.00', `remarques` text NOT NULL, PRIMARY KEY (`id`), KEY `username` (`nom_utilisateur`) ) TYPE=MyISAM AUTO_INCREMENT=1336 ; 1 : J'ai lu que l'attribut KEY est synonyme de PRIMARY KEY. Ça m'étonne puisque là je trouve les deux. Il est évident que cela n'a pas la même signification. Quelles seraient leurs différences ? 2 : Pourquoi l'attribut AUTO_INCREMENT possède-t-il une valeur ? A quoi sert-t-elle? Merci de vos réponses Lien vers le commentaire Partager sur d’autres sites More sharing options...
suede Posté 12 Janvier 2007 Partager Posté 12 Janvier 2007 La valeur de l'autoincrément permet de savoir quelle est la prochaine valeur a donner à id. Tu as défini `id` int(11) NOT NULL auto_increment -> chaque fois que tu fais un insert dans la table, le id est incrémenté directement. Si tu exportes la table et la réimporte, cela permet de savoir où commencer l'incrémentation. Lien vers le commentaire Partager sur d’autres sites More sharing options...
beal2912 Posté 12 Janvier 2007 Partager Posté 12 Janvier 2007 KEY est un synonyme de INDEX . Depuis la version 4.1, l'attribut de clé PRIMARY KEY peut aussi être spécifié avec la clause KEY . Il a été implémenté pour assurer la compatibilité avec les autres bases. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xeon Posté 12 Janvier 2007 Auteur Partager Posté 12 Janvier 2007 Merci pour vos réponses Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant