Dit gebeurt omdat information_schema.processlist
gebruikt UTF8mb3-tekenset. (UTF is een alias voor UTFmb3). Deze eenvoudige vraag illustreert dit:
mysql> select info, "🔥" from information_schema.processlist;
+------------------------------------------------------+------+
| info | ? |
+------------------------------------------------------+------+
| select info, "?" from information_schema.processlist | 🔥 |
+------------------------------------------------------+------+
1 row in set, 1 warning (0,00 sec)
Warning (Code 1366): Incorrect string value: '\xF0\x9F\x94\xA5" ...' for column 'INFO' at row 1
De bovenstaande waarschuwing resulteert waarschijnlijk in een fout wanneer de trigger probeert de inhoud van de info
. in te voegen kolom naar een andere tabel.
Ik denk dat het probleem is dat de queryreeks wordt opgeslagen zoals in de processlist
tabel zonder deze te converteren naar de verwachte tekenset. Ik heb een bugrapport
ingediend hierover.