2014-01-28 137 views
0

我想AUTO_INCREMENT行。自動遞增行(ID)

當爲表格創建一行時,INT比TEXT更好嗎?我使用varchar爲其他行,但我認爲使用AUTO_INCREMENT與varchar將是完全沒有意義的。

該行被稱爲'ID',並且每次將數據插入到其他行時都假設爲AUTO_INCREMENT。由於它假設爲AUTO_INCREMENT,而不是允許用戶輸入數據的其他行,最好是修改下面的「serverid」,還是禁用HTML表單的ID字段的輸入?

這裏是我的代碼:

// Inserting input values into its respected row 
$serverip=$_POST['post_serverid']; 
$serverid=$_POST['post_serverip']; 
$serverid=$_POST['post_serverport']; 
$serverid=$_POST['post_servertitle']; 
$serverid=$_POST['post_serverdesc']; 
$serverid=$_POST['post_serverwebsite']; 
$query = mysqli_query($con,"INSERT INTO servers (serverid, serverip, serverport, 
servertitle, serverdesc, serverwebsite) VALUES  
('$serverid','$serverip','$serverport','$servertitle','$serverdesc','$serverwebsite')"); 
+0

很抱歉這麼說,但我沒有任何想法,你可以談論什麼。此外,我的'post_serverport'是「0」,「','',''),(0,'0.0.0.0',0」 –

回答

0

當定義爲AUTO INCREMENT時,手動輸入值沒有意義。

有時候您還有可能在不知不覺中輸入表中已經存在的值。爲避免這種可能性,您最好省略insert語句中的自動遞增字段。

如果您仍然有興趣使用insert語句中的字段,則可以安全地使用NULL0(零)。因此,引擎將用自動增量中的新值替換它並將其用於插入。

如果您從Web窗體輸入值,則可以從窗體中刪除自動增量字段。

+0

謝謝!這回答了我的問題。 –

0

你不應該有任何地方從你的HTML/PHP的遞增ID。您應該在數據庫本身中設置它,因爲具有PRIMARY索引和AUTO_INCREMENT的INT被選中。然後每個條目將被分配一個唯一的ID,您可以稍後查詢。