Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [MySQL] Indici?

  1. #1

    [MySQL] Indici?

    Vediamo se riesco a spiegarmi.
    Ho una tabella con diversi campi e su tre di questi voglio mettere una condizione.
    Per esempio è ammissibile che i tre campi assumano lo stesso valore:
    campo1 campo2 campo3
    --54----------2-----------10
    --54----------2-----------10
    --54----------2-----------10
    Devo però escludere che possa succedere ad esempio una cosa del genere
    --53----------2-----------10
    --52----------2-----------10

    Ossia per ogni combinazione del campo2 e campo3 ci deve essere uno e uno soltanto campo1.
    Posso risolvere questo problema utilizzando in qualche modo gli indici di una tabella MyISAM?
    grazie

  2. #2
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Non credo sia possibile da MySql...

    ...di sicuro non con gli indici, che servono per ottimizzare le interrogazioni...

    Comunque non mi pare che MySql abbia per adesso delle costrizioni adeguate a quello di cui hai bisogno (come Oracle per capirsi)... mi sa che dovrai aspettare l'avvento dei trigger, che se non ricordo male arrivera' con la versione 5

    Ciao
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  3. #3
    Grazie per la risposta.
    Immaginavo qualcosa del genere.
    Parlavo di indici perchè, com'è noto, dichiarando un indice su più campi di tipo unique si impediscono le ripetizioni.
    Ma evidentemente questo non ha nessuna attinenza con il mio problema.
    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    534
    Originariamente inviato da alcatraz69
    Grazie per la risposta.
    Immaginavo qualcosa del genere.
    Parlavo di indici perchè, com'è noto, dichiarando un indice su più campi di tipo unique si impediscono le ripetizioni.
    Ma evidentemente questo non ha nessuna attinenza con il mio problema.
    ciao
    Si può fare un indice come dici tu, con tre campi. Ma se lo dichiari primario oppure unique potrai mettere solo un record tipo quello citato da te:

    --54----------2-----------10

    ma uno solo e non tre.

    Dovresti fare una select preventiva per verificare l'esistenza della terna.


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.