Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di blob696
    Registrato dal
    Feb 2007
    Messaggi
    119

    mySql - REPLACE E IGNORE

    Ho una tabella con quattro campi unique |campo1|campo2|campo3|campo4|

    vorrei che:

    1) se insersco un record con tutti i 4 campi uguali ad uno già esistente lo sostituisca.
    ( e qui ci siamo "REPLACE INTO ... ecc ecc)

    2) nello stesso tempo vorrei invece che se sono uguali i primi tre campi e diverso il 4° venga ignorato il record che sto per inserire (ignore).

    Come faccio?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Fai un controllo a monte

    codice:
    select count(*) from tabella where (campo1,campo2,campo3) = (x,y,z)
    Se il valore è maggiore di 0 non procedi con l'inserimento.
    Vedi tu se procedere tramite linguaggio di scripting oppure con una stored procedure.

  3. #3
    non e' chiarissima questa cosa... vorrei solo far notare che REPLACE prima cancella e poi riscrive il record cambiando l'eventuale id di riferimento autoincrement con buona pace delle possibili relazioni.

    giocherei di piu' su INSERT ... ON duplicate key UPDATE

    http://dev.mysql.com/doc/refman/5.5/...duplicate.html

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

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.