我正在創建包裹機器程序。每個宗地都有獨特的parcelID,它被導出到mysql數據庫。問題是每次運行程序時,程序都從0開始計數parcelID。我正在尋找一個解決方案,它將允許我檢查數據庫中最後一個parcelID並在最後一個之後創建行。INSERT INTO獨特的字段
現在看起來像這樣:1.我正在通過java程序在db(成功)中創建一個新行。我在一段時間後關閉了程序。 3.我再次運行該程序,因爲「PRIMARY」關鍵字出現錯誤「重複條目1」,所以我無法添加另一個新行。
public static void post() throws Exception{
int parcelID = Parcel.generateID();
int clientMPNumber = Parcel.typeClientNumber();
int orderPassword = Parcel.generatePass();
try{
Connection con = getConnection();
PreparedStatement posted = con.prepareStatement("INSERT INTO Parcels.Orders (parcelID, clientMPNumber, orderPassword) VALUES ('"+parcelID+"', '"+clientMPNumber+"', '"+orderPassword+"')");
posted.executeUpdate();
}
catch(Exception e){
System.out.println(e);
}
finally{
System.out.println("Insert completed");
}
}
和方法是:
public static int generateID(){
parcelID = parcelID + 1;
return parcelID;
}
btw .:不要在你的查詢中使用'prepareStatement()'和字符串concat值。使用'prepareStatement()'構建「準備好的語句」(這是一個帶「?」的查詢作爲值的佔位符),並使用'setInt'和'setString'來填充這些佔位符。 – Progman