EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #01106


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

[EP-tech] Re: MySQL query to update a column value


Thanks Robert

I replied to John that I use SQL elsewhere, but actually I am normally changing data content not table structure come to think of it, so that's what I had in my mind as it is something I do frequently (on the library management system). Glad I checked!

Thanks again

Claire

-----Original Message-----
From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of Robert Berry
Sent: 20 September 2012 11:57
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] Re: MySQL query to update a column value

Hi Claire,

Do not use the UPDATE statement. That's to alter records in the database, not to change table structure.

You need to use ALTER TABLE (more info here:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html).

The syntax you want will be something like,

ALTER TABLE `eprint` SET `type` VARCHAR(255);

(Change the number inside varchar to the maximum number of characters you want to be stored in the field.)

If you're uncomfortable writing SQL statements yourself it might be better to use some client software to perform operations like this. I can't make any recommendations but Google 'MySQL client software' and see what comes up.

Best wishes,
Robert Berry


Claire Eskriett <C.Eskriett@brighton.ac.uk> writes:

>    Hi all
>
>
>    I’ve edited eprints.pl to change the property of an eprint field from
>    an integer to text but running update_database_structure has not
>    updated the eprint table. I’ve been advised to update manually using
>    MySQL and have come up with the following:
>
>
>    Use <database name>
>
>    Update eprint
>
>    Set type = text
>
>    Where field = num_pieces
>
>
>    I think this is ok – I’ve specified the table (eprint) and the field
>    that I want to update (num_pieces) and the column that I want updating
>    is ‘type’. The current row in the table is as follows:
>
>    Field                             | Type         | Null | Key | Default
>    | Extra
>
>    num_pieces            | int(11)      | YES  | MUL | NULL    |       |
>
>
>    Can anyone take pity on me and reassure me that this is ok? I ask as a
>    MySQL novice.
>
>
>    Many thanks for any advice!
>
>
>    Claire
>
>
>
>    Claire Eskriett, Systems Librarian
>
>    (Days of work are Mon, Tues, Thurs & Fri)
>
>    Information Services
>
>    Cockcroft Building
>
>    University of Brighton
>
>    Lewes Road
>
>    Brighton BN2 4GJ
>
>    T: 01273 642766
>
>    E: C.Eskriett@brighton.ac.uk
>
>
>    ___________________________________________________________
>    This email has been scanned by MessageLabs' Email Security
>    System on behalf of the University of Brighton.
>    For more information see http://www.brighton.ac.uk/is/spam/
>    ___________________________________________________________
> *** Options: 
> http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: http://www.eprints.org/tech.php/
> *** EPrints community wiki: http://wiki.eprints.org/



___________________________________________________________
This email has been scanned by MessageLabs' Email Security System on behalf of the University of Brighton.
For more information see http://www.brighton.ac.uk/is/spam/
___________________________________________________________

___________________________________________________________
This email has been scanned by MessageLabs' Email Security
System on behalf of the University of Brighton.
For more information see http://www.brighton.ac.uk/is/spam/
___________________________________________________________