Anscheinend gibt die CRC32 () - Funktion von MySQL einen vorzeichenlosen BIGINT zurück, während PHP einen hexadezimalen Wert zurückgibt.
In PHP:
hash('crc32','hello world') == 7813f744
In MySQL:
SELECT CRC32('hello world') == 222957957
Der CRC32-Wert wird in einer CHAR (8) -Spalte gespeichert.
Ich kann nicht herausfinden, wie man den von PHP generierten Hash in den gleichen Wert umwandelt, den MySQL mit nur SQL erzeugt. Das Offensichtliche scheint nicht zu funktionieren:
SELECT HEX(CRC32('hello world')) == D4A1185
SELECT CONV('7813f744',16,10) == 2014574404
Irgendwelche Ideen?