Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271

    [sql] modificare alcuni campi

    ho una tabella "nometabella" con dei campi, di cui uno "links". ora vorrei modificare tutti i links che iniziano per "http://www." sostituendo tale stringa con "http://" come faccio a farlo con una query in un colpo solo? onestamente se fossero stati pochi links l'avrei fatto a mano, ma ne sono diverse centinaia...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    codice:
    update nometabella
    set nometabella.links='http://'||SUBSTR(nometabella.links,12,lenght(nometabella.links)) 
    where SUBSTR(nometabella.links,1,11)="http://www."
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    mi spiegheresti però la sintassi? soprattutto quei numeri... 1,11,12... da dove escono? :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    update nometabella

    aggiorna tabella



    set nometabella.links='http://'||SUBSTR(nometabella.links,12,lenght(nometabella. links))

    assegna ala campo links di nometabella il valore 'http://' a cui aggiungi ||

    SUBSTR(nometabella.links,12,lenght(nometabella.lin ks))

    il valore contenuto nello stesso campo nometabella.links dal 12 carattere fino alla fine

    abbiamo escluso i primi 11 caratteri perche questi hanno valore "http://www."





    where SUBSTR(nometabella.links,1,11)="http://www."




    va bene cosi?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    se poi vuoi basta che fai una ricerca con google... cerca sql substr... semmai troverai spiegato meglio

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Non vorrei sbagliarmi ma forse questa
    codice:
    where SUBSTR(nometabella.links,1,11)="http://www."
    può rendersi anche più semplicemente con

    codice:
    WHERE nometabella.links LIKE 'http://www.%'
    dove il simbolo '%' alla fine della stringa indica un numero e un tipo generici di caratteri dopo quelli specificati esplicitamente, nel nostro caso "http://www."
    every day above ground is a good one

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    #1305 - FUNCTION nomedb.lenght does not exist

    questo è l'errore che mi dà

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    scusa, posta tutta la query che hai scritto

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    sto guardando un pò gli esempi qui
    http://database.html.it/articoli/leg...e-soluzioni/3/
    ma non riesco a venirne a capo!

    p.s. se può interessare sto usando mysql e lancio le query tramite phpmyadmin

    edit: la query l'ho scritta esattamente come me l'hai scritta tu, sostituendo esclusivamente "nometabella" con quello della tabella in questione...

    facendo:

    codice:
    SELECT links
    FROM nometabella
    WHERE SUBSTR( nometabella.links, 1, 11 ) = "http://www."
    funziona, quindi il problema sta proprio nell'uso di lenght...

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    lenght e' una funzione del linguaggio sql..... credo che anche MySql sia dotato di questa funzione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.