同じ文字列で CRC32 の異なるハッシュ値を返す 2 つのクエリで奇妙な問題が発生しています。
私が実行した場合:
SELECT 'http://mywebsite4.com/myvideos', CRC32('http://mywebsite4.com/myvideos');
返されるハッシュ値は 3769016377 です。
次に実行すると
INSERT INTO locations (full_url, full_url_hash) VALUES ('http://mywebsite4.com/myvideos', CRC32('http://mywebsite4.com/myvideos'))
挿入されるハッシュ値は 2147483647 です。
ここで私が見逃していることは明らかですか?CRC32関数は常に等しい文字列を等しい32ビット整数にハッシュする必要があることを私が理解している限り、私は一生、この場合にそれらが異なる理由を理解できません。
ありがとう!