mysql base de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mysql base de données

par Hubert Roksor » 22 oct. 2007, 20:27

Essaie avec CHAR(9), pas VARCHAR. Si ça ne fonctionne pas, poste le schéma de ta table sous la forme d'une commande CREATE TABLE.

SQL & Bases de données

par Invité » 22 oct. 2007, 19:53

Ok je revise tout, Je vous tiens au courant . Merci pour votre aide si vous avez une idée à me soumettre.

par Truc » 22 oct. 2007, 19:41

Le souci vient d'ailleurs... ... ... non pas de mars :roll:

d'après la requête proposée

Code : Tout sélectionner

insert into CLASSE_PLAN_COMPTABLE values (1,0111,"Réouverture des comptes des capitaux propres",4,01110000)
la dernière valeur donc celle qui nous intéresse (ainsi que la 2ème) sont des entiers car pas de quotes pour encadrer une éventuelle chaine de caractères (Varchar)
Ce qui me fais douter sur le type de champ que tu utilises (pour les 2 valeurs) :-k

par Invité » 22 oct. 2007, 17:15

OUI j'ai mis varchar à 9 et à 8 même problème. Je devrais peut être chercher du coté js je sais pas introduire une exception pour la dernière classe

par Truc » 22 oct. 2007, 14:37

même en varchar sans zerofill ?

par ahpatsuma » 22 oct. 2007, 14:03

Oui effectivement la classe est considérée comme un numéro (Numero_class) qui est en fait le début du numéro de compte et le code ou comte proprement dit s'écrit classexxxx ex:
insert into CLASSE_PLAN_COMPTABLE values (1,135,"Provisions réglementées",3,13500000);
insert into CLASSE_PLAN_COMPTABLE values (1,1351,"Provisions pour amortissements dérogatoires",4,13510000);
....
ex de ce qui ne marche pas:
' insert into CLASSE_PLAN_COMPTABLE values (1,011,"Réouverture des comptes de financement permanent",3,01100000);
insert into CLASSE_PLAN_COMPTABLE values (1,0111,"Réouverture des comptes des capitaux propres",4,01110000)

par Truc » 22 oct. 2007, 13:30

Si les numéro de compte n'ont pas tous le même format (9 chiffres) alors il ne te reste plus d'autre choix que de passer par un champs texte, VARCHAR(9) comme l'indiquait Hubert.

Il n'y aura pas opération de calcul sur ces champs donc ça ne pose pas de souci.


Le zerofill est mieux avec un type numérique.

sql et base de données

par ahpatsuma » 22 oct. 2007, 13:25

Bonjour , je m'excuses pour le double post. J'avais posté mon méssage en tant qu'invité et je ne peux l'éditer.
Merci pour votre réponse rapide.
J'ai éssayé zerofill , j'ai un varchar de 10 mais alors j'ai des comptes qui n'existent plus ex: le numéro de classe qui s'ecrivait 1191 s'ecrit maintenant 0000001191 qui ne correspond à aucune classe par contre le code compte ou compte s'ecrit 0011910000 alors qu'il s'ecrivait 11910000.

par Hubert Roksor » 22 oct. 2007, 12:32

Tu étais dans le bon forum mais pas dans le bon sujet.

Le problème ici c'est que tu as dû choisir un type de colonne numérique alors que tes données ne sont pas à proprement parler des nombres (autrement, il serait normal de retirer les zéros en debut de nombre). MySQL propose une option ZEROFILL, qui permet de conserver les zéros en début de nombre, regarde dans phpMyAdmin. Il faudra également spécifier la largeur de la colonne, 9 dans l'exemple, pour que le bon nombre de zéros soit ajoutés.

Sinon, tu as la possibilité d'utiliser un champs texte, CHAR(9) par exemple.

par Truc » 22 oct. 2007, 12:30

Salut,

Regarde du coté de zerofill (option)

EDIT : pas de double post :non:

mysql base de données

par ahpatsuma » 22 oct. 2007, 12:26

Bonjour,
J'ai crée une base de donnée mysql regroupant les nombres de la forme 0XXXXXXX 1XXXXXXX ...9XXXXXXX (huit chiffres) et qui représentent les comptes relatifs à la gestion comptable où le premier chiffre 0,1,...9 représentent les classes comptables: le plan comptable contient 10 classes, chaque classe contient un certain nombre de comptes et chaque compte est défini par ses chiffres de début ainsi les comptes 01 qui s'écrit 01000000, 0123 qui s'ecrit 01230000 appartiennent tous à la classe 0 de même les nombres 1, 11, 111, 1111, 12, 13, 19 (10000000, 11000000, 11100000, 11110000, 12000000 etc ) appartiennent tous à la classe 1. un compte qui commence par 4 appartient à la classe 4.
Problème:Ma base est créée mais les comptes de la classe 0 environ 120 comptes se confondent avec les autres par ex 01 se confond avec 1, 0123 avec 123 etc automatiquement ma base ne contient aucun compte commencant par 0 Merci de m'aider