• User Attivo

    Indice UNIQUE

    Salve,

    ho un campo varchar in cui ho applicato un indice UNIQUE per evitare nomi duplicati, funziona benissimo, ma il problema e se devo inserire un altro titolo con lo stesso nome,
    quello che vorrei fare (se possibile) e' accoppiare il campo varchar con uno year, cosi posso inserire il titolo, ma con anno differente.

    esempio:

    Forumgt
    e
    Forumgt
    non e' possibile inserire

    Forumgt varchar
    2018 year
    e
    Forumgt varchar
    2019 year
    e' possibile l'inserimento

    Attendo lumi dagli esperti 🙂


  • Moderatore

    Ciao Alex, essendo un campo UNIQUE non puoi assolutamente fare quello che chiedi. Inoltre, i campi UNIQUE, proprio per questa loro peculiarità sono usati quasi esclusivamente per gli Indici e non per i campi varchar ove allocchiamo stringhe.
    Le sole eccezioni, provengono da campi che necessitano di essere valorizzati come unici, come ad esempio degli attributi extra di un prodotto, dove, per essere richiamati ciclicamente, devono contenere un nome univoco, spesso associato a funzioni, per non instanziare oggetti diversi ma con stesso nome.
    Per quello che ti serve, il campo UNIQUE in quel caso non è necessario. Piuttosto, lavora con un campo Indice auto Increment.


  • User Attivo

    Ciao Stefano,

    questo funziona, ho provato a inserire il titolo e l'anno uguale e me la bloccato 🙂

    [PHP]ALTER TABLE film ADD UNIQUE unique_index(movie_title, year);[/PHP]