MySQL插入错误的CRC32哈希
我有MySQL表产品,它有url和url\u crc字段。插入时,我的CRC32计算不正确 插入到产品(url、url\U crc)值中 ('http://www.zappos.com/product/7859366/color/106', CRC32('http://www.zappos.com/product/7859366/color/106(")) 结果是: ,2147483647 但当我这么做的时候: 选择CRC32('http://www.zappos.com/product/7859366/color/106") 结果是:2838206275 为什么会这样<代码>2838206275!=2147483647MySQL插入错误的CRC32哈希,mysql,Mysql,我有MySQL表产品,它有url和url\u crc字段。插入时,我的CRC32计算不正确 插入到产品(url、url\U crc)值中 ('http://www.zappos.com/product/7859366/color/106', CRC32('http://www.zappos.com/product/7859366/color/106(")) 结果是: ,2147483647 但当我这么做的时候: 选择CRC32('http://www.zappos.com/product/785
触发器没用。结果是相同的。它被
int
类型的最大值截断
将url\u crc列更改为bigint
类型
ALTER TABLE products修改列url\u crc BIGINT代码>32位有符号整数的最大值为2^31-1
2838206275大于此值
(2147483647是2^31-1)
换句话说,使用更大的数据类型(bigint)。CRC32函数返回的数据类型是INT UNSIGNED-我认为您应该使用该类型而不是bigint,否则您使用的空间是存储32位CRC所需空间的两倍。