在创建独特的自定义引用代码(即JOB1293XYZ)一段时间之后,我一直在PHP中生成自定义引用/哈希值,然后检查我的数据库以查看它是否已存在,如果是,则生成另一个。
我很好奇,如果在MySQL中可以根据该行中的其他字段生成字段的内容,我将是一个方便的快捷方式。例如......
表:员工
因此,对于employeeCode,我可以使用MySQL自定义函数(我知之甚少)来生成该字段的内容。也许通过取名字的第一个字母,第二个名字的第一个字母,职称的str长度和DOB的最后两位数字?这纯粹是一个例子。
如果这是可能的,并且任何人都可以向我指出任何非常好的参考资料,那些已经涉及到沉重的MySQL文档,并将暂时继续这样做。
提前致谢!
答案 0 :(得分:2)
您可以将所有字段连接在一起,并在结果字符串上执行MD5。
UPDATE Employees SET md5str = MD5(CONCAT(field1,field2,field3))...
我不推荐这种方法,因为如果你有一个哈希冲突怎么办的问题,如果不是不可能回答那就很困难。
上述想法不是我的:我在maatkit代码中发现了这一点。