我需要对表中的某些数据生成单个哈希
CREATE TABLE Table1
(
F1 INT UNSIGNED NOT NULL AUTO_INCREMENT,
F2 INT default NULL,
F3 Varchar(50) default NULL,
..
FN INT default NULL,
PRIMARY KEY (F1)
);
即 F1、F3、FN,其中 F2=10
SELECT md5(CONCAT_WS('#',F1,F3,FN)) FROM Tabe1 WHERE F2=10
为表中的每一行提供一个哈希值。
问题
1)如何获得整个表的单个散列?
2) 使用 MD5、SHA1、SHA 或任何其他算法最快的哈希算法是什么?
EDIT:
Mysql 4.1已被使用 - 确实如此NOT有触发支持
1)
SELECT MD5( GROUP_CONCAT( CONCAT_WS('#',F1,F3,FN) SEPARATOR '##' ) ) FROM Table1
2)速度并不重要,因为函数只需运行一次并且所有哈希函数都足够快
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)