Insert into Spalte ID AUTO_INCREMENT

Iron Monkey

Bekanntes Mitglied
Hi!

Ich trainiere gerade mit Datenbank in Java!

Warum wird die Spalte ID überhaupt nicht um 1 hochgezählt? Ich finde den Fehler nicht.

Tabelle erzeugen:
Java:
statement.executeUpdate( "create table " + DB_TABLE + " ( id INTEGER DEFAULT 0 AUTO_INCREMENT, datum DATE NOT NULL, von VARCHAR(20) NOT NULL, bis VARCHAR(20) NOT NULL, pause VARCHAR(20) NOT NULL, arbeitsminuten VARCHAR(20) NOT NULL );" );

Insert into:
Java:
		Date date = new Date();
		java.sql.Date sqlDate = new java.sql.Date( date.getTime() );

		String sql = "INSERT INTO " + DB_TABLE + " ( ID, DATUM, VON, BIS, PAUSE, ARBEITSMINUTEN ) values( null, ?, ?, ?, ?, ? )";

		stmt = connection.prepareStatement( sql );

		// Für ID fällt hier weg, da die ID in der Datenbank autom. hochzählt! 
		stmt.setDate( DB_COLUMN_DATUM, sqlDate );					// 1
		stmt.setString( DB_COLUMN_VON, von );						// 2
		stmt.setString( DB_COLUMN_BIS, bis );						// 3
		stmt.setString( DB_COLUMN_PAUSE, pause );					// 4
		stmt.setString( DB_COLUMN_ARBEITSMINUTEN, arbeitsminuten );	// 5
		int ergebnis = stmt.executeUpdate();

		System.out.println( "Ergebnis: " + ergebnis );

Gruß
Iron Monkey
 
S

SlaterB

Gast
String sql = "INSERT INTO " + DB_TABLE + " ( DATUM, VON, BIS, PAUSE, ARBEITSMINUTEN ) values( ?, ?, ?, ?, ? )";
 

Iron Monkey

Bekanntes Mitglied
String sql = "INSERT INTO " + DB_TABLE + " ( DATUM, VON, BIS, PAUSE, ARBEITSMINUTEN ) values( ?, ?, ?, ?, ? )";

Nein, es klappt immer noch nicht!

Ausgabe:
+---------------+---------------+---------------+---------------+---------------+---------------+
| ID | DATUM | VON | BIS | PAUSE | ARBEITSMINUTEN|
+---------------+---------------+---------------+---------------+---------------+---------------+
| | 2010-04-13 | 08:00 | 17:00 | 30 | 500 |
| | 2010-04-13 | 08:00 | 17:00 | 30 | 600 |
| | 2010-04-13 | 08:00 | 17:00 | 30 | 700 |
+---------------+---------------+---------------+---------------+---------------+---------------+

Gruß
Iron Monkey
 

Iron Monkey

Bekanntes Mitglied
hmm, bei google finde ich häufiger 'NOT NULL AUTO_INCREMENT',
bringt das was anderes, vielleicht neue Fehlermeldung beim einfügen?

so richtig helfen kann ich dabei aber leider nicht, habe nichtmal eine entsprechende DB zum testen, MySQL?
MySQL :: MySQL 5.1 Reference Manual :: 3.6.9 Using AUTO_INCREMENT

Mist, habe noch vergessen, zusätzlich zu schreiben, mit welcher Datenbank ich benutze! Ich benutze HSQLDB.jar !

So "INTEGER DEFAULT 0 NOT NULL AUTO_INCREMENT" hat auch nichts geholfen!

Ich suche gerade im Google weiter!

Gruß
Iron Monkey
 

Iron Monkey

Bekanntes Mitglied
Warum denn auch DEFAULT 0?

Versuch es mal mit "INTEGER NOT NULL AUTO_INCREMENT"

OK, habe ich soweit berichtigt. Trotzdem wird in der Ausgabe nur die 0 angezeigt! Warum wird die ID nicht hochgezählt?

Ausgabe:
+---------------+---------------+---------------+---------------+---------------+---------------+
| ID | DATUM | VON | BIS | PAUSE | ARBEITSMINUTEN|
+---------------+---------------+---------------+---------------+---------------+---------------+
| 0 | 2010-04-13 | 08:00 | 17:00 | 30 | 500 |
| 0 | 2010-04-13 | 08:00 | 17:00 | 30 | 600 |
| 0 | 2010-04-13 | 08:00 | 17:00 | 30 | 700 |
+---------------+---------------+---------------+---------------+---------------+---------------+


Funktion für die Ausgabe:
Java:
private static final void printTableContent() throws SQLException
	{
		if( DEBUG )
		{
			if( statement == null )
			{
				if( DEBUG )
					System.out.println( "Datenbank ist nicht geöffnet!" );

				return;
			}

			if( !EXIST_TABLE )
			{
				if( DEBUG )
					System.out.println( "Die Tabelle existiert nicht!" );

				return;
			}
			
			if( rs == null )
			{
				if( DEBUG )
					System.out.println( "Die Datenbank-Abfrage wurde nicht ausgeführt!" );

				return;
			}
			
			// Get meta data:
			ResultSetMetaData rsmd = rs.getMetaData();
			int i, n = rsmd.getColumnCount();

			// Print table content:
			for (i = 0; i < n; i++)
				System.out.print("+---------------");

			System.out.println("+");

			for (i = 1; i <= n; i++)
				// Attention: first column with 1 instead of 0
				System.out.print("| " + extendStringTo14(rsmd.getColumnName(i)));

			System.out.println("|");
			for (i = 0; i < n; i++)
				System.out.print("+---------------");

			System.out.println("+");
			while (rs.next())
			{
				for (i = 1; i <= n; i++)
				{
					// Attention: first column with 1 instead of 0
					if( rsmd.getColumnType( i ) == Types.INTEGER )
						System.out.print( "| " + extendStringTo14( String.valueOf( rs.getInt(i) ) ) );
					else if( rsmd.getColumnType( i ) == Types.DATE )
						System.out.print( "| " + extendStringTo14( rs.getDate(i).toString() ) );
					else
						System.out.print( "| " + extendStringTo14( rs.getString(i) ) );
				}

				System.out.println("|");
			}

			for (i = 0; i < n; i++)
				System.out.print("+---------------");

			System.out.println("+");
			
			rsmd = null;
		}
	}
	
	// Extend String to length of 14 characters
	private static final String extendStringTo14( String s )
	{
		if( null == s )
			s = "";

		final String sFillStrWithWantLen = "              ";
		final int iWantLen = sFillStrWithWantLen.length();
		final int iActLen  = s.length();

	    if( iActLen < iWantLen )
	    	return (s + sFillStrWithWantLen).substring( 0, iWantLen );

	    if( iActLen > 2 * iWantLen )
	    	return s.substring( 0, 2 * iWantLen );

	    return s;
	}

Gruß
Iron Monkey
 
T

TuningGuide007

Gast
HSQLDB kennt (bei mir / bisher) AUTO_INCREMENT nicht. Versuch es mit CREATE TABLE ... (id INTEGER IDENTITY, ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
L SQL Datenbank INSERT INTO Datenbankprogrammierung 6
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
O HOW TO INSERT PRIMARY INTO ANOTHER TABLE AND USE IT AS FOREIGN KEY TO DISPLAY DATA IN A RELATIONSHIP Datenbankprogrammierung 3
C Problem with INSERT.............ON DUPLICATE KEY Datenbankprogrammierung 3
A MySQL Select und Insert in Java Datenbankprogrammierung 15
S PostgreSQL Bytea INSERT Datenbankprogrammierung 8
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
L INSERT INTO Befehl in Java Datenbankprogrammierung 8
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
D Insert Methode per Servlet Datenbankprogrammierung 2
D Insert Methode per Servlet Datenbankprogrammierung 0
D SQLite INSERT OR REPLACE INTO macht neuen Eintrag?! Datenbankprogrammierung 2
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
A Oracle insert Array in DB Datenbankprogrammierung 7
C MySQL JTable in JScrollPane nach insert aktualisieren Datenbankprogrammierung 3
X SQLite Erhalte bei Query INSERT INTO eine NullPointerException Datenbankprogrammierung 10
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Y MySQL Eclipselink Insert JSF Beispiel gesucht Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
M Derby/JavaDB Derby SQL Insert mit AUTO_INCREMENT, welche ID wurde vergeben? Datenbankprogrammierung 6
D HSQLDB INSERT INTO in einer For Schleife mit selber ID, machbar? Alternative? Datenbankprogrammierung 7
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
M INSERT-Problem = integrity constraint violation: foreign key no parent Datenbankprogrammierung 5
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
M MySQL Insert über mehrere Tabellen Datenbankprogrammierung 7
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
B MS SQL: Insert LOB Datenbankprogrammierung 4
M MySQL INSERT will einfach nicht funktionieren Datenbankprogrammierung 9
H HSQLDB insert .... values("test1",select test2 from foo) Datenbankprogrammierung 2
D JDBC insert mit select abfrage Datenbankprogrammierung 5
R vor/nach INSERT mysql-SETS absetzen Datenbankprogrammierung 2
C insert into mit between-Anweisung Datenbankprogrammierung 10
C Derby/JavaDB INSERT auf FOREIGN KEY schlägt fehl Datenbankprogrammierung 2
F Insert into Access Datenbankprogrammierung 3
S Nochmals: ID ermitteln nach Insert Datenbankprogrammierung 2
S ID Wert von Insert über jdbcTemplate.update Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
B SELECT ja - INSERT nein (MySQL) Datenbankprogrammierung 3
E Derby/JavaDB Keine Reaktion von "insert into" im ActionListener Datenbankprogrammierung 22
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
T MySQL Db select * und Insert schlagen fehl Datenbankprogrammierung 2
Kenan89 Insert ohne Auswirkung Datenbankprogrammierung 7
B MySQL myBatis INSERT Datenbankprogrammierung 13
E Access Datenbank mit Insert befüllen Datenbankprogrammierung 5
M Datenbankverbindung zu langsam beim Insert? Datenbankprogrammierung 6
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
L H2 Auto INC Primary Key & Insert Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
F H2:Wie kann man insert eine Reihe "int" wert als blob in table? Datenbankprogrammierung 12
S MySQL INSERT schlägt nicht fehl, fügt aber auch nichts ein Datenbankprogrammierung 13
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
M Insert in Table mit 250 Feldern Datenbankprogrammierung 2
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
A Insert Methode Syntaxfehler Datenbankprogrammierung 2
G INSERT DATE in Oracle-DB Datenbankprogrammierung 11
G ODBC Insert und gleich danach Selects Datenbankprogrammierung 8
C ID-Rückgabe bei INSERT Datenbankprogrammierung 5
D mysql insert - performance/robustheit, "best practice" Datenbankprogrammierung 15
M Hibernate: Insert statt Update Datenbankprogrammierung 8
C Rückgabe ob INSERT erfolgreich Datenbankprogrammierung 11
H Batch Update/Insert Datenbankprogrammierung 4
E Insert oder Update- Prüfung Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Derby insert, ID auslesen Datenbankprogrammierung 3
W Problem bei Insert mit JDBC auf MS-SQL-Server 2005 Datenbankprogrammierung 7
G Frage zum Insert-Statement Datenbankprogrammierung 2
R Probleme mit Insert Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
M Insert Update usw. Datenbankprogrammierung 2
P Insert into mit zwei Datenbanken Datenbankprogrammierung 3
S Insert mit Select Datenbankprogrammierung 6
G INSERT-STATEMENT Datenbankprogrammierung 6
M insert in 2 tabellen Datenbankprogrammierung 7
J Insert auf Access DB funktioniert nicht Datenbankprogrammierung 5
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
V Fehlermeldung beim Insert Datenbankprogrammierung 16
S Insert into , executeupdate oder executequery Datenbankprogrammierung 3
B PrepareStatement "Insert into" fehlermeldung Datenbankprogrammierung 13
D Insert Oracle BLOB Datenbankprogrammierung 1
T ibatis + "generated p-key" nach insert? Datenbankprogrammierung 24
G Herausfinden des Primary Keys nach INSERT-Kommando? Datenbankprogrammierung 4
G INSERT abfragen ob erfolgreich? Datenbankprogrammierung 5
D INSERT String enthält ' wie kann man das Escapen? Datenbankprogrammierung 4
T INSERT-Befehl in Java für Oracle Datenbankprogrammierung 4
Y Hibernate - Datum Insert Datenbankprogrammierung 7
D ODBC Zugriff auf MDB-Datenbank, Insert Into ohne Funktion Datenbankprogrammierung 2
U INSERT INTO von 2 Textfeldern Datenbankprogrammierung 6
D Syntaxfehler in der INSERT INTO Anweisung Datenbankprogrammierung 2
F JAVA & MySQL : INSERT INTO DB ! Datenbankprogrammierung 2
D Problem mit INSERT INTO Datenbankprogrammierung 19
S insert into table Datenbankprogrammierung 8
S Insert in Datenbank Datenbankprogrammierung 15
G Insert-anweisung mehrere Varianten eine geht Datenbankprogrammierung 2
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
K INSERT INTO bei Windows 2005 SQL Server Standard Edition . Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben