l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
November 4: Social gathering
Next Installfest:
TBD
Latest News:
Oct. 24: LUGOD election season has begun!
Page last updated:
2003 Dec 01 22:39

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Altering Columns in MySQL on RedHat
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Altering Columns in MySQL on RedHat



On Mon, 2003-12-01 at 20:31, Marc Elliot Hall wrote:
> I've got a RedHat 8 box running MySQL 3.23.55. One of my tables has a 
> field with 'varchar(250)' as the data type.
> 
> mysql> desc foo;
> +-------------+--------------+------+-----+---------+----------------+
> | Field       | Type         | Null | Key | Default | Extra          |
> +-------------+--------------+------+-----+---------+----------------+
> | id          | int(11)      |      | UNI | NULL    | auto_increment |
> | sku         | varchar(10)  |      | PRI |         |                |
> | bar         | varchar(250) |      | MUL |         |                |
> | name        | text         | YES  |     | NULL    |                |
> | etc...      | int(11)      | YES  |     | NULL    |                |
> 
> 
> Unfortunately, 250 characters is insufficient for the data I want to put 
> into this field. So, I want to change it to 'blob' or 'text'. However, 
> when I use:
> 
> mysql> alter table foo modify bar text not null;
> 
> I receive back the error:
> 
> ERROR 1170: BLOB column 'bar' used in key specification without a key length
Try:
mysql> alter table foo modify bar text( 255 ) not null;
> 
> I've tried adding a new column:
> 
> mysql> alter table foo add barnew text not null;
> Query OK, 19543 rows affected (3.84 sec)
> Records: 19543  Duplicates: 0  Warnings: 0
> 
> and the new column shows up:
> 
> | barnew      | text         |      |     |         |                |
> +-------------+--------------+------+-----+---------+----------------+
> 
> However, I have thus far been unable to get the values out of 'bar' and 
> into 'barnew'; I'm pro'ly just being boneheaded about this and missing 
> something obvious. :^)
mysql> update foo set newbar = bar;
> 
> My question is this: how do I change the data type of a column that's 
> part of the key? Google and http://www.mysql.com/doc/ have been (so far) 
> not very helpful. Any advice is appreciated!
> 
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech

_______________________________________________
vox-tech mailing list
vox-tech@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox-tech



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.