siDDis Skrevet 25. september 2008 Del Skrevet 25. september 2008 (endret) Eg har ein tabell som skal ha ein unique constraint, ikkje spør hvorfor, den SKAL være der. mysql> DESCRIBE language_text; +-------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | language | int(11) | NO | MUL | NULL | | | type | int(11) | NO | MUL | NULL | | | description | varchar(4000) | NO | | NULL | | +-------------+---------------+------+-----+---------+----------------+ Så prøver eg: mysql> ALTER TABLE language_text ADD UNIQUE (description); ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes Eg skjønner ingenting? Kva er det den klager på? Endret 25. september 2008 av siDDIs Lenke til kommentar
siDDis Skrevet 25. september 2008 Forfatter Del Skrevet 25. september 2008 Fant svaret: http://bugs.mysql.com/bug.php?id=4541 Nå begynner eg å få ein lang nok bugliste til å tvinge sjefane til å droppe heile MySQL. Lenke til kommentar
kaffenils Skrevet 26. september 2008 Del Skrevet 26. september 2008 Som løsning kunne du jo generert en hash av verdien i tekstfeltet og lagret denne i en egen kolonne som du opprettet en unique constraint mot. Det er selvfølgelig en bitteliten sjanse for at forskjellig innhold i tekstfeltet genererer samme hashverdi, men det tror jeg er ekstremt mikroskopisk. Lenke til kommentar
siDDis Skrevet 26. september 2008 Forfatter Del Skrevet 26. september 2008 (endret) Takk for tipset! Men eg trur eg heller går for "håper det feiler så lederane skjønner at MySQL suger" implementasjonen. For dei som trudde det var seriøst, så kan eg bare roe dei ned med at eg gjer jobben min skikkeleg *sukk* Endret 26. september 2008 av siDDIs Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå