Sql: longueur de champ.

Fermé
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 6 mai 2003 à 20:59
 Guillaume - 30 mai 2011 à 16:24
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 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
7 mai 2003 à 21:31
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 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
7 mai 2003 à 21:02
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
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 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 14 mars 2007 49
6 mai 2003 à 21:01
0<1
1>0
Oki?

Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
0
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 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
6 mai 2003 à 21:02
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 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
6 mai 2003 à 21:08
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
6 mai 2003 à 22:53
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 3642 Date d'inscription jeudi 24 avril 2003 Statut Contributeur Dernière intervention 11 septembre 2005 305
6 mai 2003 à 23:45
Je pense que ça dépend du SGBD.

-= Fu Xuen =-
0
Utilisateur anonyme
6 mai 2003 à 23:54
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 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
7 mai 2003 à 13:07
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 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 518
7 mai 2003 à 23:25
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