Hvis der er noget du ikke lige synes du kan visualisere ordenligt på en Zabbix…
Sammenligning af felter med forskellige tegnset i MySQL
Det kan være en udfordring hvis man arbejder med forskellige tegnset i databaser. F.eks. hvis man vil sammenligne data i to felter med forskellige tegnset.
I dette eksempel med to tabeller table1 og table2, er table1.field i latin1_general_ci og table2.field i utf8_general_ci, så hvis man forsøger at udføre følgende SQL sætning:
SELECT t1.field FROM table1AS t1, table2 AS t2 WHERE t1.field = t2.field;
vil MySQL komme med fejlen:
SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
For at løse dette kan man enten vælge at ændre sine data og tabel struktur så det alt samme er i det samme tegnset (UTF8 eller LATIN1),
ALTER TABLE table1 CONVERT TO CHARACTER SET utf8_general_ci;
eller man kan konvertere data i sin SQL sætning:
SELECT t1.field FROM table1AS t1, table2 AS t2 WHERE CONVERT(t1.field USING utf8) = CONVERT(t2.field USING utf8);
Comments (0)