SQL-Statement "Top 1" oder "limit" funktioniert nicht

Paul279

Aktives Mitglied
Hallo Leute,
ich probiere schon seit 2 Stunden vergeblich aus meiner Table den ersten Eintrag zu finden und upzudaten.

Meine Versuche:

SQL:
SELECT TOP 1 FROM tabelleXY

Fehlermeldung: Error code -1, SQL state 42X01: Syntaxfehler: Encountered "1" at line 1, column 12.

gut, nächster Versuch mit Limit:
SQL:
SELECT * from tabelleXY limit 1

Fehlermeldung: Error code -1, SQL state 42X01: Syntaxfehler: Encountered "1" at line 1, column 26.

Gut, habe noch mehrere Abwandlungen von diesen beiden probiert mit (limit 1) in Klammer oder nur eins in Klammer oder mit Top in Klammerung oder ....

Also meine Frage:
Wie bekomme ich bitte die erste Zeile meiner Tabelle? Mit where geht es nicht, da ich nicht weiß was in der Tabelle steht und der Content ändert sich immer. Group by oder order by sind auch nicht erlaubt.

Danke sehr
 

z-mon

Bekanntes Mitglied
Hallo Paul,

versuch es mal mit:

SQL:
SELECT TOP 1 * FROM tabelleXY

Du musst schon auswählen welche Parameter du auslesen möchtest ;-)
 
N

nillehammer

Gast
Moin Paul279,

schreib doch mal, welches DBMS Du benutzt. Du scheinst da ja grad länger dran zu sein.
 

Paul279

Aktives Mitglied
Hallo Paul,

versuch es mal mit:

SQL:
SELECT TOP 1 * FROM tabelleXY

Funktioniert leider nicht:
Error code -1, SQL state 42X01: Syntaxfehler: Encountered "1" at line 1, column 12.

@nillehammer
Ja also ich verwende die integrierte JavaDB. So viel ich mich entsinne läuft dahinter mysql.
 

Paul279

Aktives Mitglied
danke sehr.

Einserseits gut, dass du drauf gekommen bist, andererseits bin ich jetzt fertig, da ich es nicht nutzen kann.

ROW_NUMBER hab ich gerade probiert, funktioniert leider auch noch nicht.

Gibt es eine andere Möglichkeit, wie ich die erste Reihe finde?
 
T

Tomate_Salat

Gast
"Erster Eintrag" erscheint mir ein wenig willkürlich. Wenn es ums updaten geht, hast du doch sicherlich eine Information (im Idealfalle eben die Werte der Schlüsselfelder) über die du den Datensatz gezielt abfragen kannst. Somit sollte auch ohne ein [c]LIMIT 1[/c] genau 1 Datensatz zurückgegeben werden.
 
N

nillehammer

Gast
Unter der Voraussetzung, dass die DB bei der Generierung der IDs Autoincrement oder Sequence benutzt, wäre der zu aller erst gespeicherte Datensatz der mit der niedrigsten ID. Das ist natürlich nur eine Annahme und setzt voraus, dass nicht nachträglich an den IDs rumgeupdated wurde. Vielleicht gibt es ja auch eine andere Spalte, die verlässlicher für sowas ist.

Damit bekommt man in zwei Statements die gewünschte Row:
SQL:
'Erstes Select zum finden der niedrigsten id'
SELECT MIN(id) FROM tabelleXY;

SELECT * FROM tabelleXY WHERE id = <foundId>;
Kann man sicher noch geschickt verwurschteln, sodass nur ein einzelnes Statement rauskommt.
 
Zuletzt bearbeitet von einem Moderator:
T

Tomate_Salat

Gast
Muss nicht stimmen, wenn du anderster Indizierst:
[sql]
CREATE TABLE idxtest (
id int auto_increment,
name varchar(50),
INDEX(name),
PRIMARY KEY(id)
);

INSERT INTO idxtest (name) VALUES ('c'),('b'),('a');
[/sql]

Getestet mit MySQL und ich bekomme bei:
[sql]
SELECT * FROM idxtest
[/sql]
Code:
3 | a
2 | b
1 | c

Wenn dann müsste man ein ORDER BY setzen.
 
N

nillehammer

Gast
Das mit der id war auch nur eine Krücke, die nur unter eingeschränkten Voraussetzungen funktioniert. Aber die Chance, dass es funktioniert, ist soo schlecht nicht. Falls Id nicht geht, mein Hinweis auf eine eventuell vorhandene andere Spalte (z.B. eintragTimestamp), die möglicherweise besser geeignet ist. (kann ja evtl auch noch eingebaut werden).
 

Paul279

Aktives Mitglied
@Fant das ist für mich die Lösung

@Tomate_Salat Nein, habe keine Information, auch nicht über die Schlüsselwerte

@nillehammer Habe keine Sequenz oder AutoIncrement. Aber auch wenn ich AutoIncrement hätte, würde es nicht funktionieren, da an der ganzen Tabelle rumgepfuscht wurde, da es geordnet sortiert und umgewandelt wurde.

@Tomate_Salat Das Beispiel muss ich mir mal öfter ansehen, bis ich das ganze durchblickt habe ;-)

@tfa Habe oben geschrieben dass order by leider nicht eingesetzt werden darf.

@nillehammer Ja an das Timestamp habe ich selber schon gedacht, es ist aber nicht meine Datenbank und ich darf eben nur abfragen, updaten, daher kann ich leider auch keinen Tabelleneintrag "Timestamp" machen.

Danke an alle für eure Antworten, es sind alles gut durchdachte Ideen, doch für mich passt die simpelste von Fant.

Werd mal weiter programmieren und lernen :rtfm:

Danke sehr
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S MS SQL 2005 Express Edition - 4GB DB-Limit Datenbankprogrammierung 6
M SQL Exception bei LIMIT Datenbankprogrammierung 11
T LIMIT In SELECT Anweisung Datenbankprogrammierung 4
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
S Das printen der Ausgabe des Oracle-SQL-Statements in der Java-Eclipse-Konsole funktioniert nicht Datenbankprogrammierung 6
S Datenbankprogrammierung in Java unter NetBeans 12 funktioniert nicht! Datenbankprogrammierung 1
D JPA gleiche methode funktioniert an einer Stelle, an der anderen nicht Datenbankprogrammierung 3
J Firebase KeepSynced funktioniert nicht Datenbankprogrammierung 0
L SQL-Statement INSERT INTO ON DUPLICATE KEY UPDATE funktioniert nicht Datenbankprogrammierung 5
H Derby/JavaDB Beispiel funktioniert nur einmal Datenbankprogrammierung 7
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
M Java Datenbankanbindung funktioniert nicht Datenbankprogrammierung 4
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
E Warum funktioniert das Erzeugen einer View nicht? Datenbankprogrammierung 1
M DB-Zugriff funktioniert nach JAR-Erstellung nicht mehr Datenbankprogrammierung 3
L SQL Statement mit Switch-Case funktioniert nicht Datenbankprogrammierung 6
L MySQL App/Java Zugriff auf Mysql-DB funktioniert nicht Datenbankprogrammierung 1
1 MySQL Verbindung mit localhost als IP funktioniert, aber mit normaler IP nicht Datenbankprogrammierung 2
J Datenbankeintag eines Warenkorbes funktioniert nicht Datenbankprogrammierung 4
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
X3TitanCore mysqldump funktioniert nicht Datenbankprogrammierung 8
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
T HQL Query funktioniert nicht? Datenbankprogrammierung 8
X Rollback mit Savepoint funktioniert auf Oracle nicht (ORA-01086) Datenbankprogrammierung 4
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
W HSQLDB executeUpdate funktioniert nicht Datenbankprogrammierung 20
S HSQLDB DELETE-Statement funktioniert nicht Datenbankprogrammierung 4
K MySQL Verbindung funktioniert in Netbeans aber .jar funktioniert nicht Datenbankprogrammierung 5
A Rollback funktioniert nicht Datenbankprogrammierung 10
C MySQL Update funktioniert nicht Datenbankprogrammierung 11
W jpmdbc Problem -Beispiel funktioniert nicht Datenbankprogrammierung 9
H SQL Abfrage funktioniert nicht. Datenbankprogrammierung 10
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
E Einfache Abfrage funktioniert nicht Datenbankprogrammierung 3
G MSSQL Server SELECT Abfrage funktioniert nicht Datenbankprogrammierung 4
J Insert auf Access DB funktioniert nicht Datenbankprogrammierung 5
V commit funktioniert nicht Datenbankprogrammierung 2
A Like-Anweisung funktioniert nicht korrekt Datenbankprogrammierung 2
Y ORACLE - Autoincrement funktioniert nicht Datenbankprogrammierung 2
K Zugriff mittels JDBC funktioniert nur lokal Datenbankprogrammierung 5
V MySql abfrage funktioniert auf einmal nicht mehr Datenbankprogrammierung 2
S Gleiche Verbindung funktioniert einmal und einmal nicht Datenbankprogrammierung 4
E executeUpdate() funktioniert auf einmal nicht Datenbankprogrammierung 2
B MySQL Stored Procedure Aufruf funktioniert nicht Datenbankprogrammierung 4
B Update funktioniert nicht Datenbankprogrammierung 8
A INSERT funktioniert nur im Debug-Modus Datenbankprogrammierung 19
G Insert in MS SQL Server Db funktioniert nicht richtig Datenbankprogrammierung 16
W RsultSet auf null abfragen funktioniert nicht Datenbankprogrammierung 4
D Datenbankzugriff auf MS SQL Server 2000 funktioniert nicht Datenbankprogrammierung 3
F Insert Funktioniert nicht Datenbankprogrammierung 6
S MySQL-Abfrage unter java funktioniert nicht! Datenbankprogrammierung 4
P Insert Into mit Acces und Autowert funktioniert nicht Datenbankprogrammierung 2
J DB Verbindung im IDE funktioniert, als jar nicht Datenbankprogrammierung 5
A delete aus datenbank, funktioniert nicht so richtig Datenbankprogrammierung 10
L DB-Verbindung (Oracle) funktioniert nicht Datenbankprogrammierung 35
S Statement.getGeneratedKeys() funktioniert nicht Datenbankprogrammierung 4
R Datenbank zugriff funktioniert nur offline Datenbankprogrammierung 2
krgewb Hibernate: Fremdschlüssel wird nicht erzeugt Datenbankprogrammierung 2
M Meine Datenbank lässt sich mit meiner Methode nicht ändern Datenbankprogrammierung 1
P Reicht finally nicht um DB connections zu schließen in (altem) Java? Datenbankprogrammierung 4
D JOIN COLUMN wird nicht genommen Datenbankprogrammierung 2
Maxim6394 JPA / EclipseLink - n:m Beziehung wird nicht aktualisiert Datenbankprogrammierung 0
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
M Datenbank Zugraff nach Umwandlung in .jar-Datei nicht mehr möglich Datenbankprogrammierung 4
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
B SQlite Datenbank, trotz Statements wurden nicht alle Zeilen erzeugt? Datenbankprogrammierung 35
T Datenzeilen werden nicht gelöscht Datenbankprogrammierung 6
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Davee SQLite SQLite Datenbank lässt sich nicht auf anderen PCs öffnen Datenbankprogrammierung 8
Watsoon Treiber wird in Intellij nicht geladen Datenbankprogrammierung 2
Kirby.exe PreparedStatement wird nicht ausgeführt Datenbankprogrammierung 5
rafi072001 MicroServices EurekaClient findet anderern EurekaClient nicht Datenbankprogrammierung 1
Z Datenbank Choicebox wird nicht befüllt Datenbankprogrammierung 15
pkm PostgreSQL Auf eine Spalte kann aus einem Teil der SQL-Aussage nicht zugegriffen werden Datenbankprogrammierung 3
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
C MySQL SQL Statement wir nicht ausgeführt Datenbankprogrammierung 11
N Sqlite DB mit Java wird auf Linuxsystem nicht gefunden Datenbankprogrammierung 9
pkm Tomcat Classloader findet bei JPA-Persistierung die Persistence Unit nicht. Datenbankprogrammierung 11
F Tabellen automatisch erstellen wenn sie nicht existieren Datenbankprogrammierung 6
J Netbeans 11 und Eclipse JPA 2.5 Entity wird nicht gefunden Datenbankprogrammierung 4
J Java fügt Datensätze ein aber diese werden nicht richtig abgefragt Datenbankprogrammierung 3
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
R HSQLDB ResultSet update aktualisiert DB, aber nicht das ResultSet Datenbankprogrammierung 2
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
B MySQL Data Tools Plattform - "Database Connections" findet den Treiber nicht Datenbankprogrammierung 1
OnDemand One to Many bekomm es nicht hin Datenbankprogrammierung 7
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
F H2 ObjectOptimisticLockingFailureException wird nicht geworfen Datenbankprogrammierung 0
R findet Derby.DB nicht !? Datenbankprogrammierung 5
I Datenbankverbindung Oracle DB klappt nicht - getConnection returned null Datenbankprogrammierung 8
X SQLite SQLite Programm beendet/führt nicht weiter aus Datenbankprogrammierung 12
Ananaskirsche Datenbanktreiber kann nicht geladen werden Datenbankprogrammierung 2
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
U Kann die Tabellen nicht finden Datenbankprogrammierung 0
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3

Ähnliche Java Themen


Oben