Zum Inhalt springen

SQL-Syntax - Fehlermeldung im Backend!

Erstellt am 5. November 2009 · 2 Antworten · letzte Antwort am 16. November 2009

Tags: Frage

BaBbLe ·

Hallo Leute,

ich habe mal wieder ein Problem. Und zwar wollte ich mal im Menü-Punkt DB-Überprüfung nachsehen, wie es so um meine Datenbank steht (habe Probleme beim Installieren von tt_products und habe deswegen ein wenig herumgeschaut im Backend, der DB und meiner Installation).

Sobald ich im Dropdown "Record Statistics" aufrufe erhalte ich folgende Fehlermeldung am oberen Bildschirmrand angezeigt:

caller: t3lib_DB::exec_SELECTquery

ERROR:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tt_news
WHERE
pid NOT IN (-1,0,2,1,3,4,26,25,24,23,22,21,10,11,12,5,' at line 2

lastBuiltQuery: SELECT uid,pid,
FROM tt_news
WHERE
pid NOT IN (-1,0,2,1,3,4,26,25,24,23,22,21,10,11,12,5,29,30,27,28,20,6,9,35,34,38,39,42,44,8,40,36,37,43,41,7,13,14,15,19,32,45,18,46,51,52,53,54,55,56,16,17,31,33,47,48,49,50)

debug_backtrace: SC_mod_tools_dbint_index->main#695 // SC_mod_tools_dbint_index->func_records#253 // t3lib_admin->lostRecords#500 // t3lib_DB->exec_SELECTquery#333 // t3lib_DB->debug#234

Habe mich ein wenig durchs Forum gewühlt, nur leider konnte mir von den bereits bestehenden Threads keiner helfen 🙁 Ich hab im InstallTool beim Database Analyzer "COMPARE" durchgeführt und die Vorschläge ausgeführt. Nach erneutem Klick auf Compare erhalte ich die Nachricht "[​i]Table and field definitions are OK.
The tables and fields in the current database corresponds perfectly to the database in the selected SQL-file.
[/i]" Das ist ja doch eine gute Nachricht oder?! ö.O

Habe auch mal auf "Compare with $TCA" geklickt - und auch hier "[​i]Table and field definitions OK
All fields and tables configured in $TCA appeared to exist in the database as well
[/i]"
Darunter kommt dann eine ellenlange Liste mit Tabellen.

Mit dem phpmyadmin-Tool habe ich dann mal die Tabellen durchgesehen. Da ist mir nun aber nichts weiteres aufgefallen. UID ist soweit fast überall vorhanden (wenn nicht gerade ein anderes Feld als Primärschlüssel angelegt ist). Die Tabelle tt_news hat auch eine uid die hat auto_increment und default ist auf Kein gesetzt.
Was mir aufgefallen ist: Die Tabellen tt_news_cat_mm und tt_news_related_mm besitzen keinen Primärschlüssel. Ich weiss jetzt aber nicht genau was das bedeutet, kenne mich leider nicht so gut aus mit der Struktur -.-

Weiss jemand von euch was die Fehlermeldung zu bedeuten hat und wie ich es beheben kann? Was stimmt nicht mit meiner DB?

Vielen Dank schonmal für eure Antworten und eine schöne restliche Woche noch, BaBbLe

Julian.​Hofmann ·

Hallo.

BaBbLe schrieb

Weiss jemand von euch was die Fehlermeldung zu bedeuten hat und wie ich es beheben kann? Was stimmt nicht mit meiner DB?

Die Fehlermeldung besagt, dass die Anfrage an die Datenbank nicht korrekt, d.h. syntaktisch fehlerhaft ist. Bei "lastBuiltQuery:" wird freundlicherweiser auch angezeigt, welche Anfrage hier gescheitert ist. Wenn man sich diese anschaut, dann merkt man, dass die (komma-separierte) Liste der zu selektierenden Felder nicht komplett ist, da am Ende (hinter "pid") zwar noch ein Komma steht, jedoch kein Feldname mehr kommt.

Wodurch der Fehler produziert wird ist natürlich eine gute Frage...

Viele Grüße
Julian

BaBbLe ·

Danke für die Antwort Julian.Hofmann,

habe es mittlerweile irgendwie wieder wegbekommen (nach unendlich vielen COMPARES und Datenbankgeschnüffels). Leider weiss ich noch immer nicht woran es lag, aber da es ja wieder alles funktioniert setz ichd as Thema mal auf gelöst (auch wenn's nicht wirklich gelöst wurde o.O )

Wünsch dir eine schöne Woche und danke nochmal für die Antwort 🙂