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

Mysql 在数据库中自动提供唯一id,mysql,database,Mysql,Database,在我的项目中,我需要注册一个捐赠者,我需要用户输入他的信息,系统注册他并为捐赠者生成一个唯一的id 使用字段ID创建一个表,该字段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) )

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

使用字段ID创建一个表,该字段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')

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

< P>如果捐赠者ID必须在MySQL之外使用,请考虑UUID()的附加用法——(除了整数主键);如果公开的id是uuid,那么外部接口就不会那么容易受到参数播放的影响(例如,“让我们看看我是否无法获取捐赠者‘我的id+1’的数据”)

也就是说,正如mysql文档中提到的,如果您需要UUID不可预测,请不要使用UUID()-函数,而是对用户数据使用哈希算法(如sha1)和来自系统的足够熵(Uradom,…)


编辑:在wikipedia上阅读如何构建uuid格式。

主键应该是
ID
,或者自动递增列名应该更改为
p\u ID
。我刚刚更新了它,犯了一个错误。