Posez votre question Signaler

Sql: longueur de champ.

txiki 2762Messages postés 30 janvier 2002Date d'inscription 29 mai 2012Dernière intervention - Dernière réponse le 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 ;-))
Lire la suite 

Sql: longueur de champ »

12 réponses
Réponse
+6
moins plus
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   ]]
Ajouter un commentaire
Réponse
+1
moins plus
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 ;-))
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
0<1
1>0
Oki?

Eternel Questionneur. Seul et Unique membre de la : SPdLM
=> Société Protectrice des Languages Maltraités
Guillaume - 30 mai 2011 à 16:24
Société protectrice des languages maltraités ?

Va falloir revoir les bases...
Ajouter un commentaire
Réponse
+0
moins plus
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 ;-))
Ajouter un commentaire
Réponse
+0
moins plus
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 ;-))
Ajouter un commentaire
Réponse
+0
moins plus
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 ! :@)
Ajouter un commentaire
Réponse
+0
moins plus
Je pense que ça dépend du SGBD.

-= Fu Xuen =-
Ajouter un commentaire
Réponse
+0
moins plus
Ah bah, j'avais cru lire Mysql...
J'vais me coucher... :o)

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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 ;-))
Ajouter un commentaire
Ce document intitulé « sql: longueur de champ. » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?