Web表单提交未进入数据库

时间:2016-06-01 01:02:58

标签: java mysql sql forms

在我决定在我的实际数据表中添加ID列之后,

我的网络表单提交(在sublime文本中使用html文件制作表单)还没有进入我的sql数据库。我的理解是您不必在值括号中输入ID,因为它会自动执行。有谁知道为什么会这样?我怎么解决它?非常感谢提前。我是个新手。

1 个答案:

答案 0 :(得分: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注入,并且还可以使您的查询更易于阅读。