|
Posted by Captain Paralytic on 07/03/07 10:22
On 3 Jul, 10:35, "mrcakey" <nos...@spamispoo.com> wrote:
> Utterly perplexed by this one. I entered this into my MySQL:
>
> create table if not exists user
> (userid int not null auto_increment primary key,
> email char(64) not null,
> nickname char(32),
> user_pass char(41),
> reset_ans char(41),
> block_timestamp timestamp,
> blocked tinyint,
> fail_cnt tinyint,
> auth_pending tinyint,
> default_home tinyint,
> pref_email_newsletter tinyint,
> pref_email_own tinyint,
> polled tinyint,
> nominations tinyint,
> songalike_count int );
>
> When it came out at the other end, phpMyAdmin is reporting that all the INTs
> are 11 bytes long and the TINYINTs are 4 bytes long. I've no idea what's
> going on here?!!!!
>
> Also, a related issue, is it necessary to align the fields in byte pairs?
> This comes from my Tandem programming background - data was stored in byte
> pairs, so if you had a field that was 5 bytes long for instance, you'd try
> to stick an odd-byte field next to it so that space wasn't wasted. Do I
> need to do this for MySQL (just using ISAM)?
>
> +mrcakey
To find out what's going on here, I can recommend reading the manual:
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
[Back to original message]
|