簡體   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