Well, VARCHAR fields are designed for text. They store character strings and have a character set.
BLOB fields are designed for binary data. They store byte strings and do not have a character set.
You should consider the TEXT type. It works pretty much the same as VARCHAR but can contain a lot more text.
Check out this page in the MySQL Reference Manual.
Atli,
Thanks for that, it has been really helpful. I've only really started using MySQL in last 5months and my previous experience was with a database that had character fields, general fields and memo fields. The character field had a liength of 255 maximum, the general field was used for storing images, doc files etc and the memo field was for text of almost any length.
The result of all this is that when I was designing the database for the current project I picked field types that appeared closest to what I was used to - not necessarily a smart move.
The document you pointed me towards makes a lot of sense and so I am changing my database to use the TEXT type instead of the BLOB type. I have cases where I have used varchar for items up to 255 characters long and som I'm going to leaave these alone for now as I thikn this serves my purposes nicely.
Thanks again for your help, this forum is great, post one question and learn a whole bunch of related stuff.
One final question about MySQL (now it turns out I have posted to the wrong forum - sorry) What collation tye should I use? I have been using utf8_bin? Is this okay? I've tried to find some help on the net but everything seems to say 'oh well what the heck.'.
Thanks
nathj