当前位置: 首页 > 面试题库 >

MySQL自动增量如何工作?

宋奇希
2023-03-14
问题内容

我刚刚使用MySQL查询浏览器创建了一个新表,并注意到在“自动增量列”下有一个勾号。这是如何运作的?

以编程方式添加到数据库时,是否仅添加一个数字,然后数据库会自动将该数字递增?

每次有新用户在我的网站上注册时,我都希望他们的客户ID(仅整数)自动递增,因此我不必尝试随机生成一个唯一的数字。

可以简单地完成吗?

谢谢!


问题答案:

以编程方式添加到数据库时,是否仅添加一个数字,然后数据库会自动将该数字递增?

是的,就是这样auto_increment

  • 每个新行的值都会增加

  • 该值是唯一的,不可能重复

  • 如果删除了一行,则auto_increment该行的列将不会重新分配。

  • auto_increment可以使用mySQL函数访问最后插入的行的值,LAST_INSERT_ID()但是 必须 在同一数据库连接中的插入查询之后立即调用

mySQL参考



 类似资料:
  • 问题内容: 我正在尝试在mysql数据库中创建一列,该列自动递增1但从0-Z开始然后滚动。 例如000、001、002,…,009、00A,00B,…,00Z,010,…,0ZZ,…,100。 我想让数据库通过自动递增字段创建列。 我的想法是: 为从0到36的每个字符创建一列,然后将行N(其中N是最低有效数字)自动递增1。然后在每列上添加触发器,以在第N列达到36时向N-1列添加1 。 创建一个包

  • 问题内容: 我正在使用php和mysql。我有一个表,其中id列设置为自动递增作为主键。我正在尝试添加另一个名为sort_order的列。插入行后,sort_order列应自动递增。然后,用户将能够更改sort_order值。但是mysql不允许多于一列的自动递增? 自动递增sort_order值的最佳方法是什么? 受欢迎的要求,更多的解释。 在管理区域中,用户将具有类别列表。用户可以使用java

  • 问题内容: 是否可以自动增加非主密钥? 表“ book_comments” 该表上将没有其他索引。但是,我想使列自动递增,以便可以轻松创建另一个表: 表格“ book_comments_votes” 用户将只能对每个书评进行一次投票。该表通过主键强制执行此规则。 题: 是否可以自动增加非主键-例如,自动增加表“ book_comments”中的列? 替代方案,讨论: 如上所述,我想这样做是为了简化

  • 问题内容: 如何在MySQL中获取下一个ID以将其插入表中 问题答案: 使用从您的SQL查询。 要么 您也可以使用PHP来获取它。

  • 问题内容: 我生成一个SQLite表(在Java中): 之后,我尝试使用INSERT命令添加行: 我得到错误: 我以为行ID会自动生成,但似乎我什么都没想。 我尝试了另一种解决方案: 结果,我在“ prep.setInt(1,n);”处收到一个空指针异常。 看到故障了吗? 问题答案: 您是否尝试指出要传递的参数应该与表的哪些字段相关? 在您的情况下,可能类似于:

  • 问题内容: 长话短说,我有一个要导入为样式文件的SQL 文件,因此将以编程方式重复进行此操作。我可以根据需要编辑SQL文件,但我不想触摸应用程序本身。 此应用程序用来代表匿名用户。它在数据库中也有一个相关的(空白)条目来表示此“用户”。因此,我的行看起来像这样: 问题在于这是一个字段,从技术上讲,该字段是无效值。或者至少,如果将其设置为0,则基本上是在告诉MySQL:“请在该字段中插入下一个ID。