Se connecter / S'enregistrer
Votre question

[RéSOLU]SQL: Insert into + message d'erreur

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
13 Avril 2006 12:19:30

Bonjour,
voilà j'ai un soucis que je ne comprend absolument pas;
j'ai une table contrat:

create table CONTRAT
(
NUMCONTRAT int not null ,
NUMCOMPTEUR int not null ,
INSCDATE varchar (20) not null,
NUMCONC int not null ,
NUMPRES int not null ,
NUMINDEX int not null
,
constraint PK_CONTRAT primary key (NUMCONTRAT)
)

et quand je fais des insertions comme:

insert into CONTRAT (NUMCONTRAT,NUMCOMPTEUR,INSCDATE,NUMCONC,NUMPRES,NUMINDEX) values('0621111100167501' ,'98AA048334' ,'30/01/00' ,'1' ,'1' ,'1' );


il m'affiche un message d'erreur :

MySQL a répondu:

#1062 - Duplicata du champ '2147483647' pour la clef 1

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\phpmyadmin\libraries\common.lib.php on line 681

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\phpmyadmin\libraries\common.lib.php on line 685

Warning: mysql_result(): Unable to jump to row -1 on MySQL result index 41 in c:\program files\easyphp1-8\phpmyadmin\libraries\common.lib.php on line 685

Je ne comprend pourquoi il me dit "du champ '2147483647' " car ce n'est pas du tout le numéro que j'ai tenté d'insérer.
Pourtant, il n'insère que cette première ligne et ensuite quand j'affiche la table, j'obtient:

NUMCONTRAT NUMCOMPTEUR INSCDATE NUMCONC
2147483647 98AA048334 30/01/00 1
NUMPRES NUMINDEX
1 1

Je ne comprend pas du tout pourquoi il me met ce numéro!!!

De plus, je suis absolument certaine que je n'ai aucun numéro de contrat semblable(je le sais de source sûre et après plusieurs vérifiations).

Aidez moi SVP!!! :-( :-?

Autres pages sur : resolu sql insert into message erreur

13 Avril 2006 16:39:20

constraint PK_CONTRAT primary key (NUMCONTRAT)
NUMCONTRAT est une clé primaire, cette colonne doit donc être unique ...
De plus la chaine que tu inserts dépasse les capacités de l'entier qui est donc remplacé par le plus grand entier qu'on puisse stocker à savoir 2147483647 ou 7FFFFFFF en hexadécimal.
13 Avril 2006 16:48:05

Ah merci beaucoup!!
Je venais juste de remplacer mon :
numcontrat int not null
par un "bigint " pour voir et j'ai compris que c'était un problème de taille.

Merci beaucoup de m'avoir aidée! :-)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS