我有一个使用PHP,MySQL和phpMyAdmin的现有数据库。
当用户成为我网站上的会员时,我需要系统使用五位数字为他们创建唯一的会员编号。例如83773.我想这就像生成一个随机密码,除了我只想为我的成员编号。此ID号必须是每个成员唯一的。
我可以在我的用户表中将主键设置为auto_increment并将其设置为从10000开始,然后每次成员注册时自动递增吗?
此外,主键ID号码最多可以达到吗?
这是使用主键ID号作为会员号码的可靠且安全的方法吗?
答案 0 :(得分:175)
有一些步骤可以为列启用自动执行功能。我猜phpMyAdmin版本是3.5.5但不确定。
点击 表 > 结构标签>在操作下点击ppoup窗口上的更改,向左滚动并检查 A_I 。同时确保为默认
选择无答案 1 :(得分:51)
在phpMyAdmin中,导航到相关表格并单击“操作”选项卡。在表格选项的左侧,您将被允许设置当前的AUTO_INCREMENT值。
答案 2 :(得分:19)
只需运行一个简单的MySQL查询,并将自动增量编号设置为您想要的任何值。
ALTER TABLE `table_name` AUTO_INCREMENT=10000
就最大值而言,据我所知,没有一个,也没有办法限制这个数字。
将id号设置为原始键,自动递增int是非常安全的,也是常见做法。还有一些替代方法,例如使用PHP以特定格式为您生成会员编号,然后在插入之前检查编号是否存在,但是对于我个人我会使用主ID auto_inc值。
答案 3 :(得分:7)
答案 4 :(得分:2)
在phpMyAdmin中,如果你在表中设置一个字段来自动递增,然后插入一行并将该字段的值设置为10000,它将从那里继续。
答案 5 :(得分:1)
@AmitKB,您的程序是正确的。虽然这个错误
查询错误:#1075 - 表定义不正确;只能有一个自动列,必须将其定义为键
可以通过首先将字段标记为键(使用带有标签primary的键图标)来解决,除非您有其他键,否则它可能无效。
答案 6 :(得分:0)
您无法设置最大值(除了选择不能容纳大数字的数据类型,但没有一个具有您要求的限制)。您可以在插入后检查LAST_INSERT_ID()以获取新创建的成员的ID,如果它太大则在您的应用程序代码中处理它(例如,删除并拒绝该成员)。
为什么要上限?
答案 7 :(得分:0)
这是由于wp_terms
,wp_termmeta
和wp_term_taxonomy
表的所有ID均未设置为AUTO_INCREMENT
要执行此操作,请转到phpmyadmin,单击关注数据库wp_terms
表,单击结构选项卡,在右侧,您将看到一个名为A_I(AUTO_INCREMENT)
的选项卡,进行检查并保存(您可以仅针对第一个选项执行此操作,在wp_term
情况下,您仅针对term_id
执行此操作。
对wp_termmeta
和wp_term_taxonomy
进行相同操作即可解决此问题。
答案 8 :(得分:0)
(a)只需单击您的数据库,选择表。点击“操作”。在“表格选项”部分下,将AUTO_INCREMENT值更改为所需的值,在这种情况下:10000单击“执行”。 (请参见所附图片)
(b)或者,您可以在选择表后在SQL选项卡下运行SQL命令。只需键入“ ALTER TABLE table_name AUTO_INCREMENT = 10000;”。然后点击“开始”。而已!! SETTING AUTO INCREMENT VALUE image(a)
答案 9 :(得分:0)
在最新的 phpmyadmin 上执行此操作的最简单方法是使用以下命令;
ALTER TABLE `table_name` ADD `col_name` INT(1) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`col_name`);