Sql: longueur de champ.

txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   -  
 Guillaume -
Salut à tous,
Je crois que je vais dire une c****** mais otez moi d'un doute SVP.
Type alphanumérique CHAR(n) Chaîne de caractères de longueur fixe n (n<16383)
Type alphanumérique VARCHAR(n) Chaîne de caractères de n caractères maximum (n<16383)

le caractère < veut bien dire "supérieur" ? non ?
Donc, si dans ma table, je créé un champ du type char(16000) cela veut bien dire que le dit champ peut comporter jusqu'à 16000 caractères ?
Merci d'avance pour vos réponses.

http://abarka.free.fr 
Quand la syntaxe va, TOUT va ;-))
A voir également:

11 réponses

PhP Messages postés 1774 Statut Membre 606
 
Bsr,

Si j'en crois la doc MySql, les variables de type CHAR et VARCHAR peuvent stocker des chaînes d'une taille comprise ente 1 et 255 caractères au maximum !

La différence entre CHAR et VARCHAR :

CHAR stocke des chaînes de longueur fixe (celle déclarée lors du CREATE TABLE ...) : les chaînes supérieures à la taille spécifiée sont tronquées, les chaînes inférieures comblées par des espaces jusqu'à la taille spécifiée.

VARCHAR stocke des chaînes de longueur variable jusqu'à la taille spécifiée. En plus de la variable, un octet supplémentaire est utilisé dans lequel la taille réelle de la chaîne est stockée.
Les espaces de fin sont systèmatiquement supprimés.

Pour dépasser cette limite de 255 caractères il faut utiliser un type de la catégorie TEXT :

TINYTEXT jusqu'à 255 car. (2^8 - 1)
TEXT jusqu'à 65535 car. (2^16 - 1)
MEDIUMTEXT jusqu'à 16777215 car. (2^24 - 1)
LONGTEXT jusqu'à 4294967295 car. (2^32 - 1)

Ces types se comportent comme des VARCHAR en plus grand.
Les espaces à la fin ne sont par contre pas supprimés !

@+
Philippe

[[  The Truth is Out There   ]]
8
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Bonsoir à tous et merci pour vos réponses,
J'ai ça sur CCM, à la rubrique language sql dont voici le lien.
http://www.commentcamarche.net/sql/sqlcreate.php3

Si je vous suis bien, ce n'est peut-etre pas adapté pour Mysql ?
@ +

http://abarka.free.fr 
Quand la syntaxe va, TOUT va ;-))
1
lilou
 
Bonjour,
je n'ai pas le meme problème celui que je vais soumettre est beaucoup moins difficile mais bon je débute!
j'aimerai restaurer un champs supprimer..comment faire a partir de ma sauvegarde..je ne souhaite pas restaurer toute ma table mais juste un champs de table
merci du coup de main
a +++ lilou
1
esox_ch Messages postés 770 Statut Membre 49
 
0<1
1>0
Oki?

Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
0
Guillaume
 
Société protectrice des languages maltraités ?

Va falloir revoir les bases...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Salut à tous,
Je crois que je vais dire une c****** mais otez moi d'un doute SVP.
Type alphanumérique CHAR(n) Chaîne de caractères de longueur fixe n (n<16383)
Type alphanumérique VARCHAR(n) Chaîne de caractères de n caractères maximum (n<16383)

le caractère < veut bien dire "supérieur" ? non ?
Donc, si dans ma table, je créé un champ du type varchar(16000) cela veut bien dire que le dit champ peut comporter jusqu'à 16000 caractères ?
Merci d'avance pour vos réponses.

http://abarka.free.fr 
Quand la syntaxe va, TOUT va ;-))
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Eh ben!!!
j'ai pas eu le temps de reprendre le post que déjà j'ai eu une réponse, si ça c'est pas du rapide.... ;-)
Petite question: je sors ça des doc de CCM mais le format imprimable ne fonctionne que pour une page. Y-a-t-il un moyen de télécharger toute la doc d'un coup.
Je ne suis dans aucun plan de formation dans ma boite (dire la vérité en réunion n'est pas la bienvenue chez nous) donc il faut bien que je trouve un moyen d'apprendre et j'avoue que, sans prof qui explique ce qu'il fait, c'est pas du tout pareil que d'apprendre en potassant des bouquins de 400 pages....
Merci en tous cas pour votre aide si précieuse pour moi.

http://abarka.free.fr 
Quand la syntaxe va, TOUT va ;-))
0
Utilisateur anonyme
 
Je suis pas sur, mais il me semble que CHAR comme VARCHAR admettent un maximum de 255, non ?

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)
0
Fu Xuen Messages postés 3651 Statut Contributeur 305
 
Je pense que ça dépend du SGBD.

-= Fu Xuen =-
0
Utilisateur anonyme
 
Ah bah, j'avais cru lire Mysql...
J'vais me coucher... :o)

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)
0
batmat Messages postés 1871 Statut Membre 114
 
Sur Oracle 8 les VARCHAR2 font maximum 4000 caractères => 16000 caractères pour du VARCHAR, à mon avis y a erreur ;-)

@++

Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Salut et merci infiniment php,
J'avais bien compris la différence entre "char" et "varchar".
Par contre "TEXT jusqu'à 65535 car. (2^16 - 1) " m'interresse au plus au point et c'est exactement ce qu'il me faut.
Je vais utiliser ce type de variable.
Je te remercie infiniment. ;-)

http://abarka.free.fr 
Quand la syntaxe va, TOUT va ;-))
0