插入数据库只填充2行

时间:2012-12-26 19:22:27

标签: java mysql

您好我想在我的数据库中插入值,其中Database表有3行

id - item - date

这里我想填充Item和Date行,因为ID是一个Auto_increment字段,每个记录都有id ++。但是现在我不知道我的查询在Java中应该是什么样的,因为它与以前不同(在PHP中)

我认为这是相关的代码

st = con.createStatement();
String query = "INSERT INTO toDoList " + "VALUES ('" + value + "', 'CURDATE()')";
st.executeUpdate(query);

有人可以告诉我第一张唱片的内容吗?我尝试了空引号但导致错误..

2 个答案:

答案 0 :(得分:2)

由于ID是自动递增的,因此您无需提供任何值,只需在查询中列出所有列减去您的ID列。

String query = "INSERT INTO toDoList(item, date) " + "VALUES ('" + value + "', 'CURDATE()')";

我看到你是java developpement的新手,我建议你使用preparedStatement而不是简单的语句来使用JDBC执行SQL查询以防止SQL注入

示例:

String query="INSERT INTO toDoList(item, date) VALUES (?,?)";";
PreparedStatement st = conn.prepareStatement(query);
st.setString(youritemval);
st.setDate(new SimpleDateFormat("dd/MM/yyyy").format(Calendar.getInstance().getTime()));
st.executeUpdate();

答案 1 :(得分:1)

如果您的值不适用于所有列,则必须在插入数据时定义列名。

String query = "INSERT INTO toDoList(item,date) " + "VALUES ('" + value + "', 'CURDATE()')";