Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    non riesco a rendere UNIQUE una colonna in MySQL

    Ho una tabella di db, in cui vorrei rendere unica la colonna 'email', così da essere sicuro che possano essere aggiunti solo dati non già esistenti. Però, quando provo ad attribuire questa caratteristica (in PhpMyAdmin), mi da questo errore:
    #1170 - BLOB/TEXT column 'email' used in key specification without a key length
    Come devo fare?
    metatad
    graphic & web design

  2. #2
    un campo text per una email (presumo solo l'indirizzo e non il contenuto) mi pare francamente eccessivo. Per creare l'indice con text bisogna definire la lunghezza del testo su cui deve essere impostata la chiave.

    Se sono solo indirizzi imposta un campo varchar(100) che e' gia' esagerato. Poi setti l'indice UNIQUE.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    thanks...
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ... però, perchè continua a consentire l'inserimento di dati già presenti? La caratteristica UNIQUE non dovrebbe servire proprio ad impedire l'input di dati duplicati? Credevo che, con questa modifica, avrei risolto il problema...
    metatad
    graphic & web design

  5. #5
    Originariamente inviato da metatad
    ... però, perchè continua a consentire l'inserimento di dati già presenti? La caratteristica UNIQUE non dovrebbe servire proprio ad impedire l'input di dati duplicati? Credevo che, con questa modifica, avrei risolto il problema...
    occhi agli spazi prima e dopo. devono essere "assolutamente" identiche.

    Per settare l'indice UNIQUE non devono piu' esserci campi doppione ancora presenti

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    in che senso "campi doppione"? Dici nella tabella non devono esserci altri campi UNIQUE?
    metatad
    graphic & web design

  7. #7
    Originariamente inviato da metatad
    in che senso "campi doppione"? Dici nella tabella non devono esserci altri campi UNIQUE?
    per settare un indice UNIQUE (ad un campo esistente con dati inseriti) nei dati presenti nel campo prescelto NON debbono esserci record doppi altrimenti la query fallisce (e ti dice il perche')

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    no, non ci sono record doppi, infatti il campo è settato come UNIQUE, e non mi ha dato alcun errore... però, se provo ad inserire un dato già presente, lo fa lo stesso...
    metatad
    graphic & web design

  9. #9
    Originariamente inviato da metatad
    no, non ci sono record doppi, infatti il campo è settato come UNIQUE, e non mi ha dato alcun errore... però, se provo ad inserire un dato già presente, lo fa lo stesso...
    che sia lo stesso identico valore lo escluderei a priori.... posta la struttura della tabella ed un esempio "reale".

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

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok, risolto... c'era in effetti un valore doppio (uno spazio in più)...

    thanks
    metatad
    graphic & web design

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.