Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: PuLP le le 16-12-2003 a 23:08:48

Titre: [MySQL] Soucis de Débutant
Posté par: PuLP le le 16-12-2003 a 23:08:48

Bonjour, je débute en base de données MySQL sous free


En faite ma question est assez basique, mais peut etre compliqué à la fois, j'aimerais tout simplement comprendre l'interet de faire une colonne "principal" nommé ID, en auto incremation ?
es indispensable pour son bon fonctionnement ?

sinon mon soucis et qu'il m'arrive d'effacer un row de mes tables, mais ensuite ça fause mes ID
exemple si j'avais 5 rows de 1,2,3,4,5, si j'efface tout le row 3, je vais me retrouver avec un trou (1,2,4,5) .. y a til un moyen d'en quelque sorte rafraichir et reorganisé mes id de 1 à 4 automatiquement ? :)

Ou autre solution, je m'en débarasse ? :p

Merci

Titre: Re:[MySQL] Soucis de Débutant
Posté par: FireLink le le 17-12-2003 a 00:23:48

Bonjour,

Le champ id avec un auto increment est très utile pour la classification des champs dans tout genre de situations... Il n'est en aucun cas indispensable, c'est seulement très utile pour les scripts...

Sinon pour les trous il faut le faire à la main ou un petit script serait toujours faisable... Selon moi, compliqué pour rien... Un trou, dans la plupart des situations c'est pas vraiment grave.

J'espère avoir pu t'aider!

Titre: Re:[MySQL] Soucis de Débutant
Posté par: PuLP le le 17-12-2003 a 08:25:35

Ah donc c'est pas du tout obligatoire mais ça facilite certaine situation, je veux bien le croire, mais je sais pas si moi ça me faciliterais les choses en faite, mais y a-t-il quelque chose qu'on peux omettre dans la conception d'un tableau de base qui peux entaché dans les performances a chaque utilisation de la base de données (ramer) ?

Sinon aussi apres avoir lu et relu ce que je pouvais trouver concernant la commande SELECT, je n'ai pas trouver la condition qui permet tout simplement d'indiqué un numéro de ligne, exemple j'ai un tableau
nom prenom
a b
c d

j'aimerais taper un simple numéro de ligne avec le SELECT pour obtenir a b ou c d ainsi de suite... j'ai juste trouver LIMIT qui n'est pas vraiment fait pour ça, et d'ailleurs elle a pas l'air de bien fonctionner dans certains cas.

et puis aussi pendant que j'y pense, si quelqu'un a des info concernant ".htaccess" parceque j'en entend parler mais je sais pas du tout comment on peux obtenir un dossier proteger

Titre: Re:[MySQL] Soucis de Débutant
Posté par: TinMar le le 17-12-2003 a 10:23:43

si tu veux chopper les infos d'une ligne c'est justement l'id qui va t'aider à l'afficher.
Dans ta requete tu mets si dans la ligne 10 tu as a et b : SELECT * FROM $table WHERE id IS NOT NULL AND id LIKE '10'";

Sinon pour le htaccess vu que tu as un compte free va voir http://support.free.fr/web/pperso/restriction_acces.html tout est indiqué. ::)

Titre: Re:[MySQL] Soucis de Débutant
Posté par: tavman le le 17-12-2003 a 14:33:28

Autre chose que j'ai remarquer : si j'ai deux ligne exactement identiques dans une table et bien ca plante... Je m'explique :

J'ai une table avec une entrée "prenom" et en premiere ligne j'ai par exemple "Maurice". Et bien si jamais je veut mettre une deuxieme ligne "Maurice" ca marchera pas : la ligne ne n'existera qu'une seule fois...

Voila donc a quoi ca sert (aussi) d'avoir une colonne ID d'auto incrémntation : etre sur d'avoir des ligne FORCEMENT differentes les unes des autres... J'espere avoir fait un peu avancer le chmilblik

Titre: Re:[MySQL] Soucis de Débutant
Posté par: ric le le 18-12-2003 a 09:27:47

Je répond à Tavman.
Je ne comprend pas en quoi le champ auto_increment peut empêcher les doublons dans la base.
On peut insérer plusieurs fois le même contenu: les enregistrements seront identiques avec colonnes ID différentes.

Titre: Re:[MySQL] Soucis de Débutant
Posté par: trounday le le 18-12-2003 a 22:09:40

Citation de: Fire_Link le le 17-12-2003 a 00:23:48
Un trou, dans la plupart des situations c'est pas vraiment grave.


Ca depend des quels !!! ;D

Titre: Re:[MySQL] Soucis de Débutant
Posté par: tavman le le 19-12-2003 a 11:43:39

ric : justement, un doublon, c'est lorsque tu as 2 fois exactement la même ligne... hors si tu as une colonne d'auto increment, ca te fera pas de doublon... Un petit exemple devrait faire l'affaire :

Pas bien :

Prenom

Maurice
Maurice

ca marche pas prcq c'est un doublon...

Bien :) :

ID Prenom
1 Maurice
2 Maurice

la ca marche bien puiske C plus un doublon... ce sont 2 entrées differentes... Enfin ca ce que j'ai remarquer sur free et je suis pas trop sur prcq ca remonte deja a un moment mais en tout c'est ske j'en ai compris...

Titre: Re:[MySQL] Soucis de Débutant
Posté par: ric le le 19-12-2003 a 20:33:47

Je suis bien d'accord avec toi, quand l'id est différent il n'y a pas doublons puisqu'un champ est différent.
C'est l'intérêt de la chose qui m'échappait.
Tu m'as fait réfléchir : pour des statistiques, par exemple, on peut avoir des enregistrements identiques à l'ID auto_increment près.
Merci :)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.