2016-04-26 23 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