Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [MySQL] IF

  1. #1
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392

    [MySQL] IF

    Ciao Raga,
    vorrei sapere qual è la sintassi corretta per gli if...
    Dovrei fare:
    Inserisci in blablabla se non esiste un record con un campo 'campo' identico...

    Spero di essermi spiegato... Grazie per qualsiasi aiuto.

    PS: Voglio usare un if, per evitare di fare 2 query... Se poi non si può fare...

  2. #2

  3. #3
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da piero.mac
    http://www.php.net/manual/it/control...-structures.if



    IF nelle query SQL...

    E' che non riesco ad impostare una query Me ne puoi fare un'esempio?

  4. #4
    Originariamente inviato da PaTeR


    IF nelle query SQL...

    E' che non riesco ad impostare una query Me ne puoi fare un'esempio?
    codice:
    mysql> SELECT IF(1>2,2,3);
            -> 3
    mysql> SELECT IF(1<2,'yes','no');
            -> 'yes'
    mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
            -> 'no'

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

  5. #5
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da piero.mac
    codice:
    mysql> SELECT IF(1>2,2,3);
            -> 3
    mysql> SELECT IF(1<2,'yes','no');
            -> 'yes'
    mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
            -> 'no'
    Qualcosa che si avvicini a quello che dovrei fare io?

    Mi pare di aver capito

    SELECT IF(condizione, riposta affermativa, risposta negativa)

    Ma sicuramente non è così

  6. #6
    Originariamente inviato da PaTeR
    Qualcosa che si avvicini a quello che dovrei fare io?

    Mi pare di aver capito

    SELECT IF(condizione, riposta affermativa, risposta negativa)

    Ma sicuramente non è così
    invece e' cosi'.

    lo puoi usare anche nella condizione where.

    WHERE IF(campo1 != campo2, campo1 = 'pippo', campo2 = 'pallino')

    se campo1 diverso da campo2, cerca campo1=pippo, altrimenti cerca campo2 = pallino

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

  7. #7
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da piero.mac
    invece e' cosi'.

    lo puoi usare anche nella condizione where.

    WHERE IF(campo1 != campo2, campo1 = 'pippo', campo2 = 'pallino')

    se campo1 diverso da campo2, cerca campo1=pippo, altrimenti cerca campo2 = pallino
    Mmm.... Devo fare un insert, se non trovo un record con un campo uguale a quello che devo immettere, pensavo una cosa così:

    IF( SELECT * FROM totali WHERE ip = '$_SERVER[REMOTE_ADDR]', INSERT ...

    Oppure


    INSERT ... WHERE IF( SELECT * FROM totali WHERE ip = '$_SERVER[REMOTE_ADDR]')


    Ma non vanno Consigli?

  8. #8
    :SUPER_FAGIANO:

    Hai gia' visto da qualche parte una INSERT con la condizione WHERE???

    :QUAGLIA:


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

  9. #9
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da piero.mac
    :SUPER_FAGIANO:

    Hai gia' visto da qualche parte una INSERT con la condizione WHERE???

    :QUAGLIA:

    Appunto...
    Solo che non so come fare con l'IF!!! :rollo:
    Non ho ancora capito come fare...

  10. #10
    Originariamente inviato da PaTeR
    Appunto...
    Solo che non so come fare con l'IF!!! :rollo:
    Non ho ancora capito come fare...
    Biondo...

    un insert e' un record nuovo.... se tu vuoi verificare se gia' esiste per decidere se fare un insert od un update, devi fare una query select preventiva oppure usare REPLACE.

    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.