# Eine MySQL Zeile mit JDBC löschen



## Akkulader (5. Okt 2014)

Moin!

Ich probiere gerade ne Methode, die mir eine gegebene Zeile aus meiner Datenbank löscht. Leider klappt das nicht so ganz. Liegt  an der Syntax 

Der Fehlercode ist einfach 
	
	
	
	





```
com.mysql.exceptions.MySQLSyntaxErrorException: Unknown column '(eingegebener Nachname)' in 'where clause'
```


```
public static void delete(final String lastname) {
  [...]
  try {
    Statement stmt = conn.createStatement();
    String sql ="DELETE  FROM user WHERE last_name = " +lastname ;
    stmt.execute(sql);
  }
  [...]
}
```


Wäre euch für Hilfe sehr dankbar


----------



## JavaMeister (5. Okt 2014)

```
String blabla ="DELETE  FROM user WHERE last_name = '" +lastname + "'";
```


----------



## Akkulader (5. Okt 2014)

JavaMeister hat gesagt.:


> ```
> String blabla ="DELETE  FROM user WHERE last_name = '" +lastname + "'";
> ```



Was hat es denn mit diesen "'" auf sich? Versteh das nicht ganz.

Also warum muss lastname in ' ' gehüllt sein? Hab das bisher nicht so oft gesehen




Aber danke dir!!!


----------



## stg (5. Okt 2014)

Würdest du ein Statement schreiben wollen, dass alle Zeilen löscht, bei denen der Vorname und der Nachname gleich sind, wie würde das denn dann aussehen? 

Wenn du dir das klar machst, dann hast du auch die Antwort auf deine Frage


----------



## arilou (7. Okt 2014)

Akkulader hat gesagt.:


> Was hat es denn mit diesen "'" auf sich? Versteh das nicht ganz. Also warum muss lastname in ' ' gehüllt sein?


Gegenfrage: Warum sind Strings in Java mit "" eingefasst?
SQL ist auch eine (Programmier-)Sprache.


----------



## fehlerfinder (8. Okt 2014)

Akkulader hat gesagt.:


> Was hat es denn mit diesen "'" auf sich? Versteh das nicht ganz.
> Also warum muss lastname in ' ' gehüllt sein? Hab das bisher nicht so oft gesehen



Wie würdest du das Statement denn in reinem SQL schreiben? Gib das mal hier als Antwort zu lesen, damit wir ggf. tiefer einsteigen können.


----------

