Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198

    [MySQL] Eliminare un meta_key specifico dentro una tabella, mediante comando

    Mi occorre elaborare un comando da inserire dentro il db mysql per eliminare alcuni parametri obsoleti di un'enorme tabella.

    Si tratta della tabella denominata wp_postmeta.
    Per comodità chiamerò la meta_key obsoleta pinko_palla.

    Il comando potrebbe essere qualcosa del genere, ma così non va. Mi dareste una mano a editarlo e renderlo funzionante? Thanks.

    codice:
    UPDATE wp_postmeta DELETE `meta_value` WHERE `meta_key` LIKE 'pinko_palla';

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Devi fare solo il DELETE ( UPDATE non c'entra nulla )

    DELETE FROM NomeTabella WHERE NomeCampo Like .......


    PS: Inutile ricordarti che prima devi fare un Back Up

    .
    Ultima modifica di nman; 29-03-2017 a 16:42

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Quindi dici:

    DELETE FROM wp_postmeta WHERE `meta_key` LIKE 'pinko_palla';

    ??

    Pensi sia sufficiente? Non è necessario specificare che la meta_key denominata "pinko_palla" si trova in meta_value?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    nman ti ha solo dato la sintassi del comando delete. Tocca a te vedere con la tabella che usi i campi e i valori da usare.

    Pensa a fare una copia della tabella e dei suoi dati prima di cancellare i record
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    attenzione alla LIKE, potrebbe cancellare anche record SIMILI (anche se scritta in quel modo è come se fosse EQUAL)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Ragazzi con le mie competenze purtroppo non ci arrivo :"D
    Ho ovviamente fatto un backup... Ma datemi una mano per favore...

    Credo sia obbligatorio indicare sia la tabella che la classe (quindi sia wp_postmeta che meta_value)...

    Se invece facessi...
    FROM wp_postmeta DELETE `meta_value` WHERE `meta_key` LIKE 'pinko_palla';

    ??

  7. #7
    perché non fai un esempio? del tipo

    questo è quello che ho nel db: .......................
    voglio cancellare questo valore: .....................
    così diventa: ............................

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Il database è un'installazione Wordpress.

    Tra le varie tabelle ho una wp_postmeta enorme quasi 100mb che vorrei alleggerire in quanto colma di dati obsoleti.

    La mia tabella wp_postmeta comprende le seguenti voci:
    meta_id post_id meta_key meta_value

    Ad ogni meta_id e post_id sono associate alcune meta_key contenenti informazioni obsolete (meta_value)

    Esempio:
    Post ID: 1 - meta_key denominata "pinko_palla" ha come meta_value "bla bla bla"
    Post ID: 2 - meta_key denominata "pinko_palla" ha come meta_value "ciao ciao"
    Post ID: 3 - meta_key denominata "pinko_palla" ha come meta_value "ciao ragazzi"

    E così via...

    Io desidero eliminare la meta_key "pinko_palla" e tutte le meta_value ad essa associate nei vari post.

  9. #9
    mmmm qualcosa del tipo

    DELETE FROM wp_postmeta WHERE meta_key='pinko_palla'

    cfr https://dev.mysql.com/doc/refman/5.7/en/delete.html

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2010
    residenza
    Cagliari
    Messaggi
    198
    Ok perfetto, funziona. Grazie mille!

    P.S. Utilizzando "LIKE" anziché "=" sembrerebbe meglio, perché mi dice anche quante righe sono state cancellate (viceversa, con = mi dice solo eseguito con successo)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.