在我的项目中,我需要注册一个捐赠者,我需要用户输入他的信息,系统会注册他并为捐赠者生成一个唯一的id。
发布于 2011-11-14 21:35:04
创建一个具有字段ID的表,该表具有索引并启用了自动递增。
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字段保留为空,或者不传递它,如下所示
INSERT INTO Persons(LastName, FirstName, Address, City) VALUES('Your firstname','lastname','adress','city')发布于 2011-11-14 21:35:41
使用自动递增的整数字段。或者使用自动生成的GUID。(这两种方法在T-SQL中都有效,我没有尝试过MySQL。)
发布于 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。
https://stackoverflow.com/questions/8122328
复制相似问题