phpmyadmin中的自动增量

phpmyadmin中的自动增量,php,phpmyadmin,Php,Phpmyadmin,我有一个使用PHP、MySQL和phpMyAdmin的现有数据库 当用户成为我网站的会员时,我需要系统使用五位数为他们创建一个唯一的会员编号。例如83773。我想这就像生成一个随机密码,除了我只想要我的成员的数字。此ID号对于每个成员都必须是唯一的 我是否可以在用户表中将主键设置为自动递增,并将其设置为从10000开始,然后每次成员注册时自动递增 另外,主键ID号是否有一个最大值 这是将主键ID号用作成员身份号的可靠且安全的方法吗?在phpMyAdmin中,如果您在表中设置一个字段为自动递增,然

我有一个使用PHP、MySQL和phpMyAdmin的现有数据库

当用户成为我网站的会员时,我需要系统使用五位数为他们创建一个唯一的会员编号。例如83773。我想这就像生成一个随机密码,除了我只想要我的成员的数字。此ID号对于每个成员都必须是唯一的

我是否可以在用户表中将主键设置为自动递增,并将其设置为从10000开始,然后每次成员注册时自动递增

另外,主键ID号是否有一个最大值


这是将主键ID号用作成员身份号的可靠且安全的方法吗?

在phpMyAdmin中,如果您在表中设置一个字段为自动递增,然后插入一行并将该字段的值设置为10000,它将从那里继续。

在phpMyAdmin中,导航到相关的表并单击“操作”选项卡。在表选项的左侧,您可以设置当前的自动增量值。

只需运行一个简单的MySQL查询,并将自动增量值设置为您想要的任何值

ALTER TABLE `table_name` AUTO_INCREMENT=10000
就最高限额而言,据我所知,没有一个,也没有任何办法限制这一数字


这是非常安全的,通常的做法是将id号设置为基本密钥,自动递增int。也有一些替代方法,例如使用PHP以特定格式为您生成成员编号,然后在插入之前检查该编号是否存在,但就我个人而言,我会使用主id auto_inc值

您不能设置最大值(除了选择不能容纳大数字的数据类型,但没有一种数据类型具有您要求的限制)。您可以在插入后使用LAST_INSERT_ID()检查以获取新创建成员的ID,如果它太大,则在应用程序代码中处理它(例如,删除并拒绝该成员)


为什么要设置上限?

可以通过以下步骤启用列的自动增量。我猜phpMyAdmin版本是3.5.5,但不确定

单击操作下的表格结构选项卡> 单击主(设置为主), 单击弹出窗口上的更改,向左滚动并选中。另外,请确保您已为默认值选择了None

  • 在表格的“结构”选项卡中
  • 单击要自动递增的变量的铅笔
  • 在“额外”选项卡下选择“自动增量”
  • 然后转到表的“操作”选项卡
  • 在“表格选项”->自动增量类型->10000下

  • @AmitKB,你的程序是正确的。虽然这个错误

    查询错误:#1075-表定义不正确;只能有一个自动列,必须将其定义为键


    可以通过首先将字段标记为键(使用带有标签primary的键图标)来解决,除非您有其他键,否则它可能无法工作。

    这是由于
    wp_terms
    wp_termsmeta
    wp_term_taxonomy
    表的所有ID均未设置为
    AUTO_INCREMENT

    要执行此操作,请转到phpmyadmin,单击关注点数据库,
    wp\u terms
    表,单击结构选项卡,在右侧,您将看到一个名为
    a\u I(自动增量)
    的选项卡,选中它并保存(您仅对第一个选项执行此操作,在
    wp\u term
    的情况下,您仅对
    term\u id
    执行此操作)

    wp\u termmeta
    wp\u term\u分类法
    执行相同的操作,将解决此问题。

    (a)只需单击数据库,选择表。点击“操作”。在“表格选项”部分下,将自动增量值更改为所需值,在这种情况下:单击“开始”。(见附图)

    (b) 或者,您可以在选择表后在SQL选项卡下运行SQL命令。只需键入“ALTER TABLE\u name AUTO\u INCREMENT=10000;”然后单击“开始”。就这样!!


    下面的一些人回答说,主键没有上限,但我假设上限是您选择的数据类型的最大大小……也许我错了,但int的最大值不是4294967295吗?请选择已接受的答案。我认为这是自auto inc功能从“操作”选项卡中删除以来的一次,现在看来这是如何实现它的。谢谢,@AmitKB。但是当我尝试时,我得到了这个错误:
    queryerror:#1075-不正确的表定义;只能有一个自动列,并且必须将其定义为键。
    消息很清楚,您可能试图拥有多个自动列。有一个类似的问题,这解决了我的问题哇,太简单了。为什么没有人提到这一点?我花了很长时间才找到这样的答案。到目前为止,这是最好的答案。当我这样做时,关于添加自动增量,只有两个选项是“将表移动到”或“将表复制到”。我既不想移动也不想复制表,只想添加自动增量。发生了什么事??我使用的是MySQL v5.6。@oldboy我得到的和你一样。也许他们在新版本的XAMPP PhpMyAdminIt中删除了该功能。看起来你认为OP使用的是WordPress,你从哪里找到这些信息的?在这个问题上我找不到任何关于WP的参考资料。我已经很久没有和phpMyAdmin玩过了,我忘了怎么做。感谢您修复了这个次要问题。这对我有用。