Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    piero ... sai se questa sintassi va anche con il replace?

    xche sarebbe qualcosa di infinitamente comodo
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  2. #12
    [supersaibal]Originariamente inviato da daniele_dll
    piero ... sai se questa sintassi va anche con il replace?

    xche sarebbe qualcosa di infinitamente comodo [/supersaibal]
    Certo che si. Pero' bisogna stare attenti al fatto che la tupla prima viene cancellata e poi riscritta. La sintassi e' identica INSERT ... SELECT, ma bisogna verificare le specifiche richieste di REPLACE. Mi spiego meglio, INSERT non considera il WHERE ovviamente e neppure REPLACE. Pero' REPLACE si basa sulla chiave primaria o su una chiave unica, senza di queste si comporta esattamente come un INSERT.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #13
    replace considera la chiave primaria (da quanto ho capito) e le chiavi uniche (credo io) per sostituire solo i dati passati

    almeno lo uso cosi ... xo ottimo ... xche è possibile aggiornare una tabella senza svuotarla, anzi, aggiungendo altri campi!

    ^^

    ad es se trasferisci i dati da un altro db\tabella su mysql ... li estrai e li inserisci con un replace into
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  4. #14
    [supersaibal]Originariamente inviato da daniele_dll
    replace considera la chiave primaria (da quanto ho capito) e le chiavi uniche (credo io) per sostituire solo i dati passati

    almeno lo uso cosi ... xo ottimo ... xche è possibile aggiornare una tabella senza svuotarla, anzi, aggiungendo altri campi!

    ^^

    ad es se trasferisci i dati da un altro db\tabella su mysql ... li estrai e li inserisci con un replace into [/supersaibal]
    Si, considera la chiave primaria od in alternativa una chiave UNIQUE che deve essere presente nella parte SELECT. Quindi la premessa per fare quello che dici e' avere due tabelle con chiavi primarie identiche o meglio campi UNIQUE comuni (piu' semplice).

    Numericamente ti rende il doppio delle righe sostituite ed una sola riga per gli inserimenti. Non e' quindi possibile capire quante righe modificate, quante tralasciate e quante nuove inserite con mysql_affected_rows.

    Puoi farti il backup utilizzando REPLACE al posto di INSERT e cosi' puoi aggiornare la tabella interessata senza doverla cancellare. Tienila come valore aggiunto per la tua classe di DUMP.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #15
    diciamo che ho una situazione particolare ... una tabella che riempo partendo da un as/400 ... quindi invece di avere 2 tabelle distinte che joino ... aggiungo i campi che mi servono nella prima ... e uso replace ... tanto questo non fa altro che fare un update se il dato è presente
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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