我的网络表单提交(在sublime文本中使用html文件制作表单)还没有进入我的sql数据库。我的理解是您不必在值括号中输入ID,因为它会自动执行。有谁知道为什么会这样?我怎么解决它?非常感谢提前。我是个新手。
答案 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注入,并且还可以使您的查询更易于阅读。