我刚刚使用MySQL Query Browser创建了一个新表,并注意到Auto Increment Column下有一个勾号。这有什么作用?
以编程方式添加到数据库时,我只是添加一个数字,然后数据库会自动增加该数字吗?
每当新用户在我的网站上注册时,我希望他们的客户ID(仅限整数)自动递增,因此我不必尝试随机生成唯一编号。
这可以简单地完成吗?
谢谢!
答案 0 :(得分:16)
以编程方式添加到数据库时,我只是添加一个数字,然后数据库会自动增加该数字吗?
是的,这就是auto_increment
的工作方式。
每个新行
该值是唯一的,不可能重复
如果删除了某行,则不会重新分配该行的auto_increment
列。
可以使用mySQL函数auto_increment
访问最后插入行的LAST_INSERT_ID()
值,但在插入查询后立即调用 相同的数据库连接
答案 1 :(得分:4)
另外1个, 您也可以插入自己的值(即随机值)。
答案 2 :(得分:1)
启用自动增量时,只要创建新记录,ID就会自动添加。例如:
如果您的表中有1条ID为1的记录并且您添加了新记录,则该ID将自动为2。
答案 3 :(得分:1)
是。 Auto_Increment列的工作方式与他们在锡上的说法相同。提示
INSERT时,使用NULL或省略列
使用LAST_INSERT_ID()(或API等价物)获取上次生成的值。
出于安全和业务逻辑的原因,通常更好的形式是不直接使用客户标识符的键值。请考虑使用Hashed / randomized代理客户密钥。
TA
答案 4 :(得分:0)
是的,这就是AUTO_INCREMENT
的确切目的。它会查看该表的当前增量值,并自动将该值加1以进入新行。您可以从INSERT
语句中省略该字段,MySQL将为您处理每个新行,为每行提供自己的唯一ID。