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

    Alternativa a chiave molto lunga

    Devo creare una tabella con 128 campi...
    Non possono esistere due righe che hanno esattamente gli stessi valori in tutti i 128 campi...
    Visto che non posso impostare come chiave l'unione dei 128 campi (il massimo è 16) come posso garantire l'unicità di ciascuna riga?

  2. #2
    perchè devi creare una tabella con 128 campi?
    è probabile un errore di progettazione a monte

  3. #3
    No, se ho fatto questa domanda è perchè mi serve quello che ho chiesto

  4. #4
    è raro, ma concordo con il paiolo ... 128 campi come chiave unica mi sembrano un attimo eccessivi ...

    comunque ... potresti creare un campo CHAR 32 o CHAR 40 (o ancora meglio BINARY 16 o 20) e buttarci dentro l'hash md5/sha1 dell'insieme dei valori della tabella

    il campo lo trasformi in una chiave primaria e hai la chiave

    però, giusto una domanda ... la chiave primaria, in una tabella del genere a che ti serve?

  5. #5
    ad impedire l'inserimento di una riga che è già presente

  6. #6
    Originariamente inviato da starcraftworld
    ad impedire l'inserimento di una riga che è già presente
    questo dovresti farlo tramite un controllo ... in questo caso l'hash è la soluzione migliore che mi viene in mente

    ma vuol dire che se hai 127 valori uguali e 1 diverso va bene lo stesso? non ci sono discriminanti?

  7. #7
    non ha senso avere 128 campi, piuttosto fai il merge in un solo campo delle 128 stringhe separando con un carattere che pare a te ( se ti servono i valori divisi ), poi certo puoi rendere unico il campo, chiave primaria o quelli che ti pare... farei comunque un controllo PRIMA di ficcare nel db se il valore esiste già

    se ti servono dati separati perchè hai chiavi esterne, metti solo quei dati che ti servono come chiavi esterne ( e quindi campi ) e allora la questione un po' si complica...

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Che tipo di valori sono? Stringhe, numeri, boolean, date,...?

    Probabilmente se ci esponi più chiaramente il problema possiamo darti qualche altra idea.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.