column count doesn't match value count at row 1

Status
Nicht offen für weitere Antworten.

Felix

Bekanntes Mitglied
Hallo,

ich will in meinem Programm etwas zu einer MySQL Datenbank hinzufügen. Leider wird immer folgender Fehler geworfen:

column count doesn't match value count at row 1

Ich hab keine Ahnung was das bedeuten soll.

Ich füge den Datensatz so hinzu:

Code:
public void add(String[] addarr) {
		try {
			stat.executeUpdate("INSERT INTO ladict VALUES (" + addarr[0] + ", "
					+ addarr[1] + ", " + addarr[2] + ", " + addarr[3] + ", "
					+ addarr[4] + ", " + addarr[5] + ", " + addarr[6] + ", "
					+ addarr[7] + ", " + addarr[8] + ", " + addarr[9] + ", "
					+ addarr[10] + ", " + addarr[6] + ", " + addarr[11] + ", "
					+ addarr[12] + ", " + addarr[13] + ", " + addarr[14] + ")");
			
			//DEBUG
			System.out.println("WURDE ERFOLGREICH HINZUGEFÜGT");
		} catch (Exception e) {
			System.out.println("Exception beim hinzufügen eines Datensatzes:\n"
					+ e);
		}
	}

Wisst ihr woran es liegen könnte?

Gruß
der Felix
 

abollm

Top Contributor
Wie A. Uhres schon vermutet hat, wird es wohl daran liegn, dass du zweimal den gleichen Wert zusätzlich zu den sonstigen Werten in die Tabelle einzufügen versuchst.

Die von dir angegebene Meldung ist eindeutig: die Anzahl der Spalten stimmt für den einzufügenden (ersten!) Datensatz nicht mit dr Anzahl der Spalten in der Tabelle überein. Und zwar versuchst du mindestens einen Wert mehr, als Spalten vorhanden sind, in die Tabelle einzufügen.
 

SamHotte

Top Contributor
1. SQL-Statements auf die Weise zusammenzustückeln ist schwer zu debuggen. Versuch mal, statt dessen mit einem PreparedStatement zu arbeiten.
2. catch (Exception e) sorgt ebenfalls (meistens) dafür, dass man die eigentliche Fehlerursache erstmal nicht findet ...
 

bronks

Top Contributor
SamHotte hat gesagt.:
1. SQL-Statements auf die Weise zusammenzustückeln ist schwer zu debuggen. Versuch mal, statt dessen mit einem PreparedStatement zu arbeiten ...
Schön, daß sich mit dem Debuggen von PreparedStatements jemand auskennt und hab da gleich mal ne Frage: Wie entlocke ich dem PreparedStatementObjekt den SQL, der ausgeführt werden soll?
 

Felix

Bekanntes Mitglied
kk, danke damit funktioinierts, ich hatte tatsächlich einfach einen Wert zuviel übergeben. Viel erfolg noch bei deiner Suche bronks
 

SamHotte

Top Contributor
Den "richtigen" SQL-String bekommst du nicht mehr, aber das macht nichts:
PreparedStatement.getMetaData() bzw. PreparedStatement.getParameterMetaData() reichen eigentlich meist, um zu debuggen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L MySQL Column count doesn't match value count at row 1 Datenbankprogrammierung 9
D JOIN COLUMN wird nicht genommen Datenbankprogrammierung 2
V SQLite java.sql.SQLException: no such column: Datenbankprogrammierung 18
L Oracle Repräsentative Namen für die Column Types Datenbankprogrammierung 9
Thallius Ist JSON als column jetzt der neue Standard oder hab ich was verpasst? Datenbankprogrammierung 34
Kirby.exe SQL-Exception: Column not found Datenbankprogrammierung 6
M Oracle String aus Column splitten und x Rows daraus erstellen Datenbankprogrammierung 1
S Bestimmten Column finden Datenbankprogrammierung 3
zhermann Data truncation: Incorrect date value: 'null' for column Datenbankprogrammierung 31
OnDemand Column char type, wie befüllen? Datenbankprogrammierung 2
K Derby/JavaDB '<columnName>' is not a column in table or VTI '<value>'. Datenbankprogrammierung 12
K Unkown Column in where clausel Datenbankprogrammierung 2
Z Unknown column 'xxx' in 'field list' Datenbankprogrammierung 2
D Count(*) auf 2 Tabellen anwenden Datenbankprogrammierung 7
S NamedQuery mit count Datenbankprogrammierung 2
J SQL Problem mit Count + Group By Datenbankprogrammierung 7
A Count(*)-Befehl Datenbankprogrammierung 3
O COUNT() und MAX() in einer Abfrage Datenbankprogrammierung 5
N [Microsoft][ODBC Microsoft Access Driver]COUNT field incorre Datenbankprogrammierung 13

Ähnliche Java Themen


Oben