2016-06-01 26 views
0

我決定在我的實際數據表中添加一個ID列後,我的web表單提交(在崇高文本中使用html文件來製作表單)沒有進入我的sql數據庫。我的理解是,您不必在值框中輸入ID,因爲它自動執行。有誰知道爲什麼會發生這種情況?我該如何解決它?非常感謝提前。我是一個新手。Web表單提交沒有進入數據庫

+0

我在您的問題中添加了Java標記。如果我錯誤地執行了這個操作,請隨時刪除它。 –

+0

@TimBiegeleisen謝謝! :) – episkeyyy

+0

你確定,在你的MySQL數據庫中,用戶'root'沒有密碼?請在'catch'塊中寫入'e.printStackTrace();'並分享我們獲得的異常跟蹤。 –

回答

1

您需要爲ID列提供值,即使它是自動增量。從MySQL documentation

如果不指定INSERT ... VALUES或INSERT ... SELECT,值列名的列表,在表中的每一列必須由VALUES列表或提供SELECT語句。

假設你person表具有以下列順序

person (ID, name, birthday, address, gender, school) 

那麼你INSERT應採取的形式:

stmt.executeUpdate("INSERT INTO person VALUES (null, " + "' 
      + name + "','" + bday + "','" + address + "', '" 
      + gender + "','" + school + "')"); 

在這裏,我路過null作爲ID列的值, MySQL會爲其分配一個自動增量值。

請注意,您應該考慮使用預準備語句,因爲它們將防範SQL注入,並且還會使您的查詢更易於閱讀。

+0

好的,會做!謝謝你的時間! – episkeyyy