Xeon Posté 12 Janvier 2007 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
suede Posté 12 Janvier 2007 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.
beal2912 Posté 12 Janvier 2007 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant