Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [mysql] vincolo su coppia di colonne

    Salve,
    sapreste dirmi come posso risolvere questa situazione con mysql?

    Ho due tabelle T1 e T2.
    T1 ha due colonne a,b
    T2 ha due colonne c,d

    T2.c è chiave importata da T1.a
    T2.d è chiave importata da T1.b

    In questo modo io non posso inserire dati in T2.c se quell'istanza non compare in T1.a e lo stesso con l'altra coppia di chiavi.. ma se io volessi anche mantenere il vincolo di accoppiata delle due colonne?
    Provo a fare un esempio:
    Se ho
    ----T1-----
    a | b
    ------------
    bici | rossa
    auto | blu

    posso inserire

    ----T2-----
    c | d
    ------------
    auto | rossa
    bici | blu

    Ma se volessi fare in modo che, se in T2.c compare "auto" in T2.d può solo essere inserito "blu" e non "rossa". Come posso fare?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    378
    Penso che mysql non possa risolvere questo problema (PENSO), quindi aspettiamo qualcuno che ne sà in materia.
    credo che potresti risolvere tutto leggendo la prima colonna, valutare cosa fare e poi scrivere la seconda con il colore appropriato.
    Praticamente leggi dal database la prima colonna e poi scrivi la seconda.
    se ancora la prima non è settata fai i relativi controlli sugli input con un inserimento unico settando i valori appropriati.

    ciao

  3. #3
    Penso che mysql non possa risolvere questo problema (PENSO), quindi aspettiamo qualcuno che ne sà in materia. credo che potresti risolvere tutto leggendo la prima colonna, valutare cosa fare e poi scrivere la seconda con il colore appropriato. Praticamente leggi dal database la prima colonna e poi scrivi la seconda. se ancora la prima non è settata fai i relativi controlli sugli input con un inserimento unico settando i valori appropriati. ciao
    Ok.. quindi pensi ad una soluzione "lato client" diciamo, uno script che verifichi le condizioni e non permetta inserimenti sbagliati... però mi sarebbe più congeniale un vincolo a livello di database.

    non è possibile farlo fare a mysql?

    Grazie.

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.