Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1339 connectés 

  FORUM HardWare.fr
  Programmation

  Bug dans MySQL avec l'AUTO_INCREMENT et les index ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bug dans MySQL avec l'AUTO_INCREMENT et les index ?

n°108392
Dost67
Posté le 06-03-2002 à 16:16:48  profilanswer
 

Je créé ma table :
CREATE TABLE news (
thedate DATE not null,
id SMALLINT(5) UNSIGNED not null AUTO_INCREMENT,
post TEXT not null,
PRIMARY KEY (thedate, id)
);
Le problème c'est que quand je fais un :
INSERT INTO news VALUES (CURDATE('';), '', 'Mon texte';)
plusieurs fois (en changeant le texte de post à chaque fois !) et
le champs id s'incrémente de bien de 1 à chaque INSERT1 mais, arrivé à 10, il redémarre à 1 au lieu de se mettre à 11.
 
Par contre quand je sépare les index :
INDEX (thedate),
PRIMARY KEY (id)
pas de problème si ce n'est que mon index prend énormément de poids alors que je n'ai pas besoin d'avoir deux index différents.
 
So is it a bug, is it a problème ? Comment le résoudre ?
J'ai EasyPHP 1.5 (MySQL 3.23.40).

mood
Publicité
Posté le 06-03-2002 à 16:16:48  profilanswer
 

n°108398
Day
Posté le 06-03-2002 à 16:25:39  profilanswer
 

Tu es certain que ça ne vient pas plutôt de ton script autour ?
 
Est-ce que tu rentres les requêtes "à la mano" ou bien tu utilises un script, genre PERL ?
 
Parce que si as vraiment ça en rentrant toi-même les instructions SQL, c'est un bug !

n°108402
youdontcar​e
Posté le 06-03-2002 à 16:30:45  profilanswer
 

j'ai le même genre de code (aucune idée de la version de mysql) et je n'ai jamais eu de problèmes. par contre lorsque j'insère l'id j'utilise 0, pas '' (insert ... values(0, 'texte', 'texte', etc.).

n°108404
Dost67
Posté le 06-03-2002 à 16:31:38  profilanswer
 

Petite précision. En fait la date change tous les 10 insertions (car je n'utilise pas vraiment la fonction CURDATE() comme j'ai indiqué)... Donc en fait le AUTO_INCREMENT se base sur le PRIMARY KEY et comme thedate change tous les 10, id se remet à 1 (ou 0, sé +) tous les 10... Ma nouvelle question est donc :
Comment passer outre cela et faire que l'id continue à s'incrémenter même s'il n'est que 2e dans la liste du PRIMARY KEY ?
 
PS : je lance les requêtes avec PHP (j'utilise une grosse boucle avec 100 000 itérations, c'est pour faire des tests).

n°108406
Dost67
Posté le 06-03-2002 à 16:32:58  profilanswer
 

Re-PS: le '' pour que l'id s'incrémente automatiquement c'est PHPMyAdmin qui me l'a appris... mais je vais essayer avec 0.

n°108407
Day
Posté le 06-03-2002 à 16:35:35  profilanswer
 

Si tu veux continuer à incrémenter id, alors, c'est id ta seule et unique primary key. Une primary key sert à identifier de manière unique une ligne.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Bug dans MySQL avec l'AUTO_INCREMENT et les index ?

 

Sujets relatifs
[php/mysql] Authentification[MySQL] Replace/where...juste la syntaxe d'une ligne de commande....
[ Perl, DBI, MySQL ] temps de validité de la methode connect de DBI[SQL - MySQL] WHERE... IN (...)
[ MySQL ] Comment faire pour qu' un texte en remplace un autre...Mysql >> Help !!
[mysql / C++] comment accéder à une bdd avec un prog en C/C++ ?[mysql] nb enregistrement
[URGENT] free,mysql et importationMYSQL estt ce que cette requete vous parait juste? si non, pkoi?
Plus de sujets relatifs à : Bug dans MySQL avec l'AUTO_INCREMENT et les index ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR