我看到有很多关于"截断的不正确INTEGER值";,我一直在检查所有这些,可能是我缺乏MySql知识,但我找不到将任何解决方案应用于我的问题的方法,所以请提供一些帮助。。。
我正在以这种方式创建一个电子邮件用户:
insert into users (id, name, maildir, crypt) values
('postbox@yourdomain.com', 'postbox_yourdomain_com',
'yourdomain.com/postbox/',
encrypt('loginpwd', CONCAT('$5$', MD5(RAND())))
);
ERROR 1305 (42000): FUNCTION yourdomain.encrypt does not exist
我发现ENCRIPT((函数被弃用,所以我改成了SHA2:
insert into users (id, name, maildir, crypt) values
('postbox@yourdomain.com', 'postbox_yourdomain_com',
'yourdomain.com/postbox/',
SHA2('loginpwd', CONCAT('$5$', MD5(RAND())))
);
但后来我得到了:
ERROR 1292 (22007): Truncated incorrect INTEGER value: '$5$de4fc1ag9ae0fa4d5b7983fa9fa61458'
我一直在寻找SHA2((语法,但我尝试了一些变体,但没有成功。。。那么,实现用户创建的合适语法是什么呢?
SHA2函数的第二个参数以位为单位指定生成的哈希的长度,例如SHA2('some password', 256)
返回一个256位的SHA-2哈希值。请查看文档。