sql >> Database teknologi >  >> RDS >> Mysql

Strengdata, højre trunkeret:1406 Data for lange til kolonne

Hvilken version? Hvilket CHARACTER SET ? Og andre spørgsmål. Før version 5.5 var der CHARACTER SET utf8 , som har brug for op til 3 bytes pr. tegn, men ikke utf8mb4 , som skal op til 4. Med 5.7 (10.2?) var problemet 'løst'. I mellemtiden var et indeks blevet begrænset til 767 bytes; ikke det er 3072.

Dit indeks på en VARCHAR(500) har brug for 1500 eller 2000 bytes.

Her er min liste over 5 ting, der kunne gøres:http://mysql.rjweb .org/doc.php/limits#767_limit_in_innodb_indexes

Du skal vælge blandt dem ud fra, hvilken fejl du kan leve med.



  1. Automatisk plankorrektion i SQL Server

  2. Enkelte citater, dobbelte citater og backticks i MySQL

  3. Sådan fjerner du uønskede ledende tegn fra en streng i MySQL

  4. Ret "FEJL:mangler FROM-klausulindtastning for tabel" i PostgreSQL, når du bruger UNION, EXCEPT eller INTERSECT