|
Publicité | ||||||||||||||||||||||
|
|
#1 | |||
|
Nouveau Membre du Club
![]() |
Bonjour,
Il y a un truc que je ne comprend pas avec ma table MySQL Quand j'écrit sur ma table Exemple Citation:
Citation:
Citation:
Donc ma question est comment faire pour qu'il ecrit a la suite des N° id même avec uns suppression comme je vient de vous faire voir au dessus. Merci Dernière modification par xunil2003 ; 08/03/2010 à 17h07. |
|||
|
|
00
|
|
|
#2 |
![]() ![]() |
Salut,
C'est tout à fait normal, tu as l'auto_increment sur l'id. C'est à dire qu'à chaque nouvelle entré ton id augmente de 1. Donc quand tu as crée Banane l'id est 3. Tu le supprime mais l'id ne diminue pas de 1. Ton prochain élément aura donc un id de 4 ! Je sais pas si je suis clair ^^ |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() |
bonsoir,
Ok c'est claire, mais comment diminuer de 1 alors ? quel sont les possibilités Si je comprend bien Mysql ne c'est par le faire de lui même. Merci |
|
|
00
|
|
|
#4 |
![]() ![]() |
Si mysql peut le faire via phpmyadmin mais pas en php à ma connaissance.
Vous choisissez la table que vous voulez, cliquez sur opération en haut puis vous pouvez modifier l'auto incrément. |
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 242 ![]() |
C'est normal, c'est tout l'intérêt du autoincrement, est il n'est (théoriquement) pas souhaitable de redéfinir cet identifiant, sauf si on sait totalement les conséquences qu'il pourrait avoir. Ceci demande de bien connaitre l'ensemble de sa Bdd, et des données qui s'y trouvent.
Pour cet autoincrement, MySQL garantie à 100% que le nouvel ID sera unique, du coup, elle ne réutilise pas l'ID qui vient d'être supprimé. Trop risqué, cet ID (le 3) pourrait très bien ce trouver comme clé étrangère dans une autre table. Dans ce cas, la Bdd ne serait plus intègre, et le code Php basé sur ces données pourraient partir en vrillent. Bug en somme. A coté de ça, faut ce dire qu'on s'en fiche un peu, voir totalement (normalement), car ces IDs ne sont là que pour le fonctionnement de la Bdd, pour faire des jointure entre les tables. Ce n'est que purement fonctionnel. Il ne faut pas se focaliser la dessus. A coté de ça, s'il restait une peau d'banane, c'est p't'être pour ça, non ? Fait gaffe, si les slips ne sont pas propre, MySQL n'en voudra pas non plus. ![]()
__________________
Win XP | WampServer 2.2 | Apache 2.2.21 | Php 5.3.8 | MySQL 5.5.16 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] Dernière modification par RunCodePhp ; 08/03/2010 à 19h02. |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() |
Bonsoir
Ok RunCodePhp, J'ai lu qu'une bdd vas jusqu'a 50.000 personnes, pour moi l'objectif de la bd et de fait une liste de commission dont les personnes peuvent supprimer les articles avec des cass a cocher et ajouter de nouveau article dans un champ texte qu'il peuvent imprimer par la suite. Si les gens n'arret pas de modifier et supprimer des articles dans la table, sa vas bloqué à 50.000 em du N° ID. Vue que ma table ne contient que id et Article j'utilise l'id par requête pour y supprimer des articles avec des case a cocher sur un tableau html , alors a l'id 50.000 que ce passera t'il ? Voila une question qui me préocupe du coup. Comment font les autre en general. Merci. Dernière modification par xunil2003 ; 08/03/2010 à 20h48. |
|
|
00
|
|
|
#7 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
La limite est 4294967295 pour INT et 18446744073709551615 pour BIGINT.
|
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 242 ![]() |
Citation:
Qu'as tu défini comme nombre pour cet ID ? S'il est trop petit, augmente le. J'ai fais un petit essai rapidos sur PhpMyAdmin, sur un INT auto_increment. Impossible d'aller au-delà de : 2147483647 Ca représente la moitié de 4294967295 ? Etrange coïncidence ![]() Ca doit être une question de version, ou de moteur MySQL, un truc dans ces eaux là. L'erreur retournée : Warning: #1264 Out of range value for column 'id' at row 1 Bon, c'est pas bien grave, car avant d'arriver à 2 milliards, faut y aller vachement fort tout de même. Et puis, faut en vendre un sacré gros paquet ... de slip
__________________
Win XP | WampServer 2.2 | Apache 2.2.21 | Php 5.3.8 | MySQL 5.5.16 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] Dernière modification par RunCodePhp ; 09/03/2010 à 05h49. |
|
|
|
00
|
|
|
#9 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Il faut mettre ton champ en "unsigned"
|
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 242 ![]() |
Citation:
![]() Ca fait le double de slips à vendre du coup ... la planète entière quoi. Le Bill Gates du slip ![]() J'déconne
__________________
Win XP | WampServer 2.2 | Apache 2.2.21 | Php 5.3.8 | MySQL 5.5.16 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com