Aller au contenu

Demande de renseignement sur le typage


Sujets conseillés

Posté

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

Posté

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.

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...