在我的项目中,我需要注册捐赠者,我需要用户输入他的信息,系统会注册他并为捐赠者生成一个唯一的ID。
答案 0 :(得分:1)
创建一个具有索引且具有自动增量的字段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')
答案 1 :(得分:0)
使用自动递增的整数字段。或使用自动生成的GUID。 (这些都在T-SQL中工作,我没有尝试MySQL。)
答案 2 :(得分:0)
如果必须在mysql之外使用捐赠者id,请考虑UUID() - http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid的额外用法(除了整数主键之外);外部接口不会像参数播放那样容易受到攻击(例如,"让我们看看我是否无法获得捐赠者的数据' my-id + 1' ")如果公开的id是uuid。
也就是说,正如mysql文档中提到的,如果你需要uuids是不可预测的,不要使用UUID() - 函数,但是使用例如用户数据上的哈希算法(例如sha1)和来自系统的足够熵(urandom,...)
编辑:请阅读维基百科http://en.wikipedia.org/wiki/Universally_unique_identifier,了解如何构建uuid格式。