2016-04-26 25 views
1

我有一个数据库表在phpMyAdmin有: [ID,用户名,密码,电子邮件,名字,姓氏,lastlogin] 工作得很好。问题是它并没有给每个用户一个ID号码(他们都是零,我想要1,2,3 ...)。每次用户从表单向数据库提交他们的信息时,都应该为其分配一个数字。第一个提交的人应该是ID 1,第二个应该是ID 2,等等。我怎样才能解决这个问题在phpMyAdmin? 谢谢。phpMyAdmin数据库:ID #s全部是零

+2

'id'字段设置为'AUTO_INCREMENT'? – AbraCadaver

回答

0

AUTO_INCREMENT应该很好地解决您的问题。 Dagon发布了一个关于如何改变你的桌子的解决方案,该桌子应该是完美的。如果您希望再次但是AUTO_INCREMENT到位创建表时,可以使用下面的代码:

CREATE TABLE myTable (
    id INT NOT NULL AUTO_INCREMENT, 
    username ..., 
    password ..., 
    email ..., 
    firstname ..., 
    lastname ..., 
    lastlogin ..., 
    PRIMARY KEY (id) 
) 
// '...' represents the datatypes and other characteristics of the 
// specific columns/fields 

让我知道这是否为你工作!

+0

感谢大家......现在试着解决这个问题!....我尝试了自动增量,但是我得到了一个错误(#1075不正确的表定义,只能有一个自动列,它必须被定义为键)我可能只是想重做表格,看看会发生什么。 – DDG

+0

@HLD好吧,让我知道如果重做表如上所示工作 – Webeng

+0

它的工作。感谢大家! – DDG

0

,以在需要时添加自动递增:

ALTER TABLE `YOUR_TABLE` CHANGE `id` `id` INT(11) NOT NULL AUTO_INCREMENT 

解决现有缺少ID的

SET @count = 0; 
UPDATE `YOUR_TABLE` SET `YOUR_TABLE`.`id` = @count:= @count + 1; 

然后

ALTER TABLE `YOUR_TABLE` AUTO_INCREMENT = 1; 
1

在phpMyAdmin,选择你的表,转到“结构”选项卡。然后在您的ID字段的行上,选中“A_I”下的框打开自动递增。

要强制更新所有记录以便它们具有不同的ID号,请删除ID列,然后在启用增量后再次将其添加回来。

请确保在“索引”下选择“PRIMARY KEY”,否则会引发错误。

+0

只是不这样做,如果你使用外键 – 2016-04-26 22:49:55

+0

@dagon那么现在所有的键都是0,所以外键无论如何都被打破了。 – 4castle

+0

是的,除非你先运行DROP FOREIGN KEY',否则你可能会生成一些*有趣的*错误信息 – 2016-04-26 22:55:29