Gå til innhold

[LØST, bug i MySQL] Meir MySQL trøbbel, får feilmelding når eg skal legge til ein unique constraint...


Anbefalte innlegg

Skrevet (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 av siDDIs
Videoannonse
Annonse
Skrevet

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.

Skrevet (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 av siDDIs

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...