Page 1 sur 1

type de données texte

Posté : 22 mars 2007, 17:22
par ours-blanc-
alors autre question sur les types de données.
j'ai un soucis car j'ai vu que les varchar etait limités a 255 caracteres. Le probleme c'est que je vais avoir des champs de textes superieurs à 255 caracteres. j'ai regarde la doc mais j'ai trouve comme autre champ de texte que les types d'objets binaires text.
alors question: est ce qu'il y a que ce type de données pour des champs superieurs à 255 caracteres?
et dans ce cas comment fonctionne le type text? on insert un nom de fichier comme les blobs?

merci!

Posté : 22 mars 2007, 17:33
par sharep98
A compter de la version 5.0.3 de MySQL, le type VARCHAR peut contenir jusqu'à 65535 caractères.

Le problème des types binaires comme TEXT c'est qu'ils stockent des octets, pas des caractères. Donc, par exemple impossible d'utiliser des fonctions SQL comme UPPER() ou LOWER().

Posté : 22 mars 2007, 17:49
par sharep98
Correction : TEXT n'est pas binaire ! Je pensais à VARBINARY.

Posté : 22 mars 2007, 18:17
par ours-blanc-
hum..merci mais le probleme c'est que la version sur le serveur que j'utilise est la 4 :(

auriez vous des liens ou des infos pour m'indiquer comment fonctionne le type text.?

merci

Posté : 22 mars 2007, 18:24
par ouckileou
auriez vous des liens ou des infos pour m'indiquer comment fonctionne le type text.?
Pas dure à trouver, la doc : http://dev.mysql.com/doc/

Posté : 22 mars 2007, 18:25
par Ryle
Il fonctionne comme varchar, à ceci près qu'il n'y a pas à spécifier de taille max :)

CHAR (n) : Chaîne de n caractère, taille fixe

VARCHAR(n) : Chaîne de caractères variable (255 caractères max)

TEXT : Zone de texte standard (65.535 caractères max)
le contenu est de type ASCII (insensible à la casse)

MEDIUMTEXT : Zone de texte moyenne (16.777.216 caractères max) type ASCII

LONGTEXT : Grande zone de texte (4.294.967.295 caractères max), type ASCII

Posté : 22 mars 2007, 18:26
par sharep98
J'ai jeté un coup d'oeil ici :
http://dev.mysql.com/doc/refman/4.1/en/blob.html
Il y est dit que
BLOB columns are treated as binary strings (byte strings). TEXT columns are treated as non-binary strings (character strings)
Donc s'il s'agit de stocker une chaîne de caractères (ou le chemin d'accès à un fichier), le type TEXT devrait convenir. Il s'utilise comme un VARCHAR.

Posté : 22 mars 2007, 18:29
par ours-blanc-
merci bien