HSQLDB Insert in eine Tabelle mit Autoincrement

vegane-milch

Mitglied
Hallo liebe Java Gemeinde,

ich beschäftige mich gerade neu mit SQL. Für mein Programm habe ich eine Datenbank mit 3 Tabellen erstellt.
Jede dieser Tabellen hat unschiedliche Spalten.
2 Tabellen haben als erste Spalte ID die als Autoincrement definiert ist. Die Datenbank soll also die ID automatisch generieren.
Doch wie füge ich nun Daten zu dieser Tabelle hinzu? Vor allem so das die Spalte ID immer um einen hochzählt?

Java:
	public void abspeichern(String tabelle,String[] arg) throws SQLException{
		String eintrag = "INSERT INTO " + tabelle + " VALUES("; 
		if(arg == null||arg.length <= 0){ 	//Wenn keine Argumente vorhanden return
			return;
		}else if(arg.length == 1){	//Wenn nur ein Argument vorhanden ist schreibe dieses
			eintrag += arg[0] + ")";
		}else{
			for(int i = 0; i < arg.length-1; i++){	//Wenn es viele Argumente gibt verbinde diese mit einem Kommer. Das letzte Element bekommt dann die ')'
				 eintrag +=  arg[i] + "," ;//" VALUES('" + vorname + "','" + name + "')";
			 }
			eintrag += arg[arg.length-1] + ")";
		}
		System.out.println(eintrag);
         stmt.executeUpdate(eintrag); //Sende den SQL-Befehl
	}

Eine der Tabellen erstelle ich so:

SQL:
CREATE TABLE IF NOT EXISTS SPORTKURSE (ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,NAME VARCHAR(255),BESCHREIBUNG VARCHAR(255),BEWEGUNGSFELD INTEGER,PRIMARY KEY (ID))

P.S.: ich nutze HSQLDB
 
Okay Problem selber gelöst 😉

einfach nur am Insert was verändern:

SQL:
INSERT INTO Schueler VALUES(null,'passwort','name',1,2,3,4)

Die erste Spalte ist die ID. Setze ich diese null so wird diese automatisch umgewandelt. 😉
 

Zurück
Oben