首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动在数据库中提供唯一id

问自动在数据库中提供唯一id
EN

Stack Overflow用户
提问于 2011-11-14 21:32:44
回答 3查看 1.3K关注 0票数 0

在我的项目中,我需要注册一个捐赠者,我需要用户输入他的信息,系统会注册他并为捐赠者生成一个唯一的id。

EN

回答 3

Stack Overflow用户

发布于 2011-11-14 21:35:04

创建一个具有字段ID的表,该表具有索引并启用了自动递增。

代码语言:javascript
复制
CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

如果现在使用MySQL添加新规则,可以将ID字段保留为空,或者不传递它,如下所示

代码语言:javascript
复制
INSERT INTO Persons(LastName, FirstName, Address, City) VALUES('Your firstname','lastname','adress','city')
票数 1
EN

Stack Overflow用户

发布于 2011-11-14 21:35:41

使用自动递增的整数字段。或者使用自动生成的GUID。(这两种方法在T-SQL中都有效,我没有尝试过MySQL。)

票数 0
EN

Stack Overflow用户

发布于 2011-11-15 17:55:04

如果必须在mysql之外使用供体id,请考虑UUID() -- http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid的附加用法(除了整数主键之外);如果暴露的id是uuid,则外部接口不会容易受到参数影响(例如,“让我们看看我是否无法获取供体'my-id +1‘的数据”)。

也就是说,正如mysql文档中所提到的,如果您需要UUID不可预测,请不要使用UUID()-Function,而是对用户数据使用散列算法(例如sha1 )和来自系统的足够熵(urandom,...)

编辑:在维基百科http://en.wikipedia.org/wiki/Universally_unique_identifier上阅读一下如何构建一个格式化的uuid。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8122328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档