【发布时间】:2013-08-31 13:07:32
【问题描述】:
我有一个名为"hash" VARCHAR 10 UNIQUE FIELD的简单表格
现在我想运行一个查询并在字段内自动生成哈希值。
问题在于散列必须是字母数字,并且必须是 10 个长字符且是唯一的。
表结构:
CREATE TABLE `vouchers` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`hash` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `hash` (`hash`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
所以我需要在散列字段中插入散列,它们应该看起来像随机字母数字随机散列,我的意思是用户不应该只看一个散列就能够捕捉到下一个或上一个散列,而且它们必须是 10 个字符长并且独一无二。
有人知道吗?
【问题讨论】:
-
MySQL 仅支持自动递增 int,并且 varchar 上的选择也总是比 int 列慢。我想你有一个很好的理由为什么要这样做?
-
@RaymondNijland 是的,以避免从应用程序端创建脚本:)
标签: mysql unique dynamically-generated hash