繁体   English   中英

MySQL插入自动递增

[英]MySQL insert with auto increment

我正在尝试将应用程序中的某些数据插入数据库中,但是我仍然收到以下错误消息。

我的表中有4列,其中一列设置为自动递增。 我怀疑是导致错误的原因。

谁能帮我这个忙吗?

表格栏:

Id (auto increment), userID(generated from application), username, name

码:

    String sql = "insert into details values (?, ?, ?)";

    PreparedStatement preparedStatement = connect.prepareStatement(sql);
    preparedStatement.setInt(1, userID);
    preparedStatement.setString(2, username);
    preparedStatement.setString(3, name);
    preparedStatement.executeUpdate(); 

    preparedStatement.executeUpdate(sql);

错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, ?, ?)' at line 1

尝试这个:

insert into details (userID, username, name) values (?, ?, ?)

您必须将sql语句更改为此:

String sql = "insert into details (userID, username, name) values (?, ?, ?)";

因为您未添加表的所有属性,所以必须说出要添加的参数。

显然,这只是一个简单的人为错误。 编写两次execute语句。

    String sql = "insert into details values (?, ?, ?)";

    PreparedStatement preparedStatement = connect.prepareStatement(sql);
    preparedStatement.setInt(1, userID);
    preparedStatement.setString(2, username);
    preparedStatement.setString(3, name);

    preparedStatement.executeUpdate(); <-- Changed to preparedStatement.execute();

    preparedStatement.executeUpdate(sql); <-- Removed this line

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM