# Unknown column 'xxx' in 'field list'



## Ziza (20. Okt 2005)

Hallo,

ich bin ziemlicher Java-Neuling und möchte eigentlich nur ein kleines Programm schreiben, dass ich für meine Diplomarbeit brauche, allerdings funkioniert das leider nicht so, wie ich es mir vorgestellt habe...

mein Problem ist Folgendes:
Ich möchte aus einer Tabelle eine Spalte auslesen und die Werte in eine andere Tabelle einfügen. Mein Idee war die einzelnen Werte in einem Array zu speichern und dieses dann in einer for-Schleife durchzugehen und jeden Wert mit einem Insert in die andere Tabelle einfügen.

Wenn ich das Programm allerding ausführen möchte erscheint folgender Fehler:

Unknown column 'Gartenpflanze' in 'field list'.

'Gartenpflanze' ist eigentlich der erste Wert der in die neue Tabelle eingefügt werden soll und zwar in die Spalte katname der Tabelle kategorie.

So hier kommt jetzt mal mein Programm.


```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class testzugriff
{
	public static void main( String args[] )
	{
		try
		{
			Class.forName("com.mysql.jdbc.Driver");
		}
		catch (ClassNotFoundException e)
		{	
			System.out.println("Fehler beim Zugriff auf Klasse aufgetreten:" +e);		
			return;
		}
		
		Connection con;
		Statement stmt;
		ResultSet rSet;
		ResultSet rSet1;

    	try
    	{
      		String url = "jdbc:mysql://localhost/test";
      		con = DriverManager.getConnection( url, "ziza", "andi79" );
      		stmt = con.createStatement();		
      		
      		//-- Drop und Create der Tabelle kategorie
      		
      		String sqldrop = "drop table kategorie;";
      		stmt.executeUpdate(sqldrop);
		
      		String sqlcreate = "create table kategorie(idkat int(10), katname char(100), katnamelatein char(100), land varchar(30));";
      		stmt.executeUpdate(sqlcreate);


			String[] var;
			int groesse;

	      	String sqlCount = "SELECT count(Kategorie) FROM blumen;";
	      	rSet = stmt.executeQuery( sqlCount );
	      		      	
			rSet.next();		
			System.out.println ( "Inhalt der rSet.getInt: " + rSet.getInt(1) + "\n");
			
			groesse = rSet.getInt(1);
			var = new String[groesse];
			
			String sqlSelect = "SELECT Kategorie FROM blumen;";
			rSet1 = stmt.executeQuery(sqlSelect);
			
			
			for (int i=0; i<groesse & rSet1.next(); i++)
			{
				var[i] = rSet1.getString(1);									
				System.out.println ( "Inhalt der Reihe: " +rSet1.getString(1) + "\n");
				System.out.println ( "Variable var[i]: " + var[i] + "\n");
			}
			
			for (int i=0; i<var.length; i++)
			{
				System.out.println ( "Variable var[i]: " + var[i] + "\n");				
				
				String sqlinsert1 = "insert into kategorie (idkat, katname, katnamelatein) values ("+i+", "+var[i]+", 'xxx');";
				stmt.executeUpdate(sqlinsert1);				
			}
						
      		stmt.close();
      		con.close();
    	}
    	catch ( SQLException e )
    	{
      		System.out.println( "Fehler bei Tabellenabfrage" + e );
      		return;
    	}
	}
}
```

Ach ja, ich verwende MySQL 4.1.10, Java jdk 1.5.0 und den mysql Connector 3.1.11.

Ich hoffe mir kann jemand bei meinem Problem helfen . Falls jemand nen anderen Vorschlag hat, wie ich das Problem anpacken kann, ich bin für jeden Tipp dankbar.

Grüße Ziza


----------



## Bleiglanz (20. Okt 2005)

Strings in einfache Quotes


```
values ("+i+",'"+var[i]+"', 'xxx');";
```


----------



## Ziza (20. Okt 2005)

oh mann... vielen Dank, jetzt klappt 

Grüße Ziza


----------

