0

您好,我想将值插入到数据库表有 3 行的数据库中

id - 项目 - 日期

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

我认为这是相关的代码

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

谁能告诉我第一条记录要填什么?我只尝试了空引号,但这会导致错误..

4

2 回答 2

2

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

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

我看到您是 Java 开发的新手,我建议您使用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();
于 2012-12-26T19:24:25.347 回答
1

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

String query = "INSERT INTO toDoList(item,date) " + "VALUES ('" + value + "', 'CURDATE()')";
于 2012-12-26T19:28:22.317 回答