带有CRC32和CONCAT的MYSQL LOAD DATA INFILE

时间:2016-01-23 09:04:29

标签: mysql concat load-data-infile crc32

我导入了一个带有负载数据infile的CSV。一个字段应该包含crc32值作为另外3个的散列。

例如。 LOAD DATA INFILE ....(field1,field2,field3,crc)设置crc = crc32(concat(field1,field2,field3))

到目前为止这种方法有效但是在比较时我可以看到,通常字段包含不同的CRC32值,即使这些值根本没有变化?为什么?我的失败在哪里?

1 个答案:

答案 0 :(得分:0)

Yu可以使用计算直接CRC32的虚拟列。不要忘记列之间的冒号。

样品

 a    b    c    crc32
123   4    5
1234  NULL 5
如果不在它之间使用冒号,

是相同的crc32

CREATE TABLE table1 (
     a INT NOT NULL,
     b VARCHAR(32),
     c INT AS (a mod 10) VIRTUAL,
     d VARCHAR(5) AS (CRC32(concat(a,',',b,',',c,)) PERSISTENT);