2012-08-31 35 views
0

我已經在我的網站上有一個表格供用戶輸入他們的姓名,公司名稱,電話號碼,電子郵件,然後在提交時將其更新到數據庫。我的數據庫中還有一個字段用於唯一的用戶ID,以使用戶具有相同的名稱和公司等。在提交我的表單時,如何在此字段中添加一個唯一編號,以使其已從已使用的字段+1。在那一刻只有3個用戶ID,所以我需要下一個輸入的是4,依此類推。添加一個唯一的密鑰到數據庫

此刻我有這個。

require_once('dbConnect.php'); 
//taken from a smarty template form. 
$addForename = $_POST['forename']; 
$addSurname = $_POST['surname']; 
$addCompany = $_POST['company']; 
$addContact = $_POST['contact']; 
$addEmail = $_POST['email']; 

public function addUser($addForename,$addSurname,$addCompany,$addContact,$addEmail) 
{ 
    $sql = "INSERT INTO `Users` (`Forename`, `Surname`, `ComanyName`, `Phone`, `Email`) VALUES ('".$addForename."','".$addSurname."','".$addCompany."','".$addContact."','".$addEmail."')"; 
    $databaseAccess = new DatabaseConnect(); 
    try 
    { 
     $result = $databaseAccess->connect($sql, "add"); 
    } 
    catch (Exception $e) 
    { 
     throw new Exception("Adding User Failed !!!"); 
    } 

    if ($result) 
    { 
     return 1; 
    } 
    else{return 0;} 
} 

感謝

回答

2

如果您在使用phpMyAdmin應該什麼時候你用「A_I」或AUTO_INCREMENT創建一個新列一個複選框..你必須檢查然後它會統計你的信息。

+0

Doh,應該實現。謝謝 –

1

創建行作爲數據庫中的auto_increment

create table someName (ID int primary key auto_increment, col1 int ...); 

然後,當你插入數據,無論它傳遞一個空,或不插入領域像此:

insert into someName (col1) values (3); 

insert into someName (ID, col1) values (null, 3); 

您可以通過以下修改當前的表:

ALTER TABLE someName MODIFY COLUMN ID INT NOT NULL AUTO_INCREMENT , ADD PRIMARY KEY (ID); 
0

創建ID:

ALTER TABLE users ADD ID INT UNSIGNED 
     NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (ID); 

,並開始在那裏你想

ALTER TABLE tbl AUTO_INCREMENT = 4; 
0

創建一個列設置爲一個主鍵和自動遞增自動遞增。你甚至可以編寫一個存儲過程來插入表中。這樣你就不必每次都寫查詢,也不必擔心轉義字符。如果您希望在存儲過程中使用SCOPE_IDENTITY()從存儲過程返回特定「否」。