2016-08-23 1 views
1
JSONArray newdata = new JSONArray(tabledata); 

int prep = 0; 
String add_sie = "INSERT INTO " + table + " " + 
    "(" + yearcolumn + "," + orgcolumn + "," + suborgcolumn + "," + amount + "," + createdbycolumn + "," + createddatecolumn + "," + statuscolumn + " , " + createdtimecolumn + ")" + 
    " VALUES (?,?,?,?,?,?,?,?)"; 

preparedStatement = conn.prepareStatement(add_sie); 
for (int i = 0; i < newdata.length(); i++) { 

    preparedStatement.setString(1, newdata.getJSONObject(i).get("year").toString()); 
    preparedStatement.setString(2, newdata.getJSONObject(i).get("org").toString()); 
    preparedStatement.setString(3, newdata.getJSONObject(i).get("sub_org").toString()); 
    preparedStatement.setString(4, newdata.getJSONObject(i).get("sub_org_amt").toString()); 
    preparedStatement.setString(5, af_mas_bi_createdby); 
    preparedStatement.setString(6, af_mas_bi_datecreated); 
    preparedStatement.setString(7, af_mas_bi_timecreated); 
    preparedStatement.setString(8, "approved"); 
    //preparedStatement.executeUpdate(); 

    //preparedStatement.executeBatch(); 

} 
preparedStatement.executeBatch(); 

ich Fehler Severe: java.sql.SQLException: Field 'abap_id' doesn't have a default value, die die ID i in der Datenbank es Struktur platzieren istSevere: java.sql.SQLException: Feld 'column' hat keinen Standardwert

enter image description here

Warum Bekomme ich Fehler in dieser Id auch wenn es Autoinkrement ist und i dont es mit bestimmtem Wert

+0

So ziemlich, was gesagt wird, die Spalte hat keinen Standardwert, und Sie weisen ihm keinen Wert zu. – e4c5

+0

@ e4c5 aber es ist automatisch inkrementieren es wird nach dem Hinzufügen von Werten rechts erhöhen ich legte den Druck-Bildschirm der Struktur für diesen Zweck, um zu beweisen, dass es Auto-Inkrement ist –

+0

Worst-Case, können Sie eine Null einfügen, die ausgelöst wird Generierung eines neuen auto_inc-Wertes. –

Antwort

0
String add_sie = "INSERT INTO " + table + " " + 
"(abap_id," + yearcolumn + "," + orgcolumn + "," + suborgcolumn + "," + amount + "," + createdbycolumn + "," + createddatecolumn + "," + statuscolumn + " , " + createdtimecolumn + ")" + 
" VALUES (NULL,?,?,?,?,?,?,?,?)"; 

Wichtige in Einsatz setzen ! Wenn Sie den Wert nicht auf Null oder NULL setzen und Werte manuell eingeben, wird der AUTO_INCREMENT Seed nicht aktualisiert. Dies kann dazu führen, eindeutige Integritätsverletzung Fehler, wenn die AUTO_INCREMENT -Spalte eine UNIQUE-Einschränkung oder eine PRIMARY KEY ist.

+0

probierte dieses auch gleich fehler ... könnte es wegen der concat sein? –

Verwandte Themen