SQL Abfrage liefert leeres Feld

theadot

Benutzer
Beiträge
7
Liebe Gemeinde,

ich bin kein Spezialist und stehe vor der großen Herausforderung einer SQL Abfrage, welche mir in einem Feld nichts zurückliefert:

"SELECT kontakte.thema, kontakte.info FROM kontakte"

gibt mir zwar das Thema, allerdings bleibt die Spalte "Info" leer, welche wohl in einem dynamischen, also nicht begrenzten Format vorliegt. Ich habe von einem Programmierer mal gehört, dass dieses Feld bei der Abfrage in irgendeiner Form konvertiert werden muss, da es nicht als Text interpretiert werden kann. Sorry für diese laienhafte Ausdrucksweise, aber ich weiß es nicht besser. Könnt ihr mir bitte auf die Sprünge helfen?
 
Werbung:
Hallo,

schwere Frage, ohne Glaskugel, da sollen wir erst mal schauen welche MySQL Version du einsetzt und wie die Tabelle aufgebaut ist.

Schicke bitte einmal die Ergebnisse von

Code:
select VERSION();
DESCRIBE kontakte;

Dann kann man sehen was mit deinem "info" Feld ist.

Gruss

Bernd
 
Hallo Bernd und danke für die schnelle Antwort!

Erst meckert er bei den Semikolons, wenn ich die entferne, liefert die Abfrage leider "Token unknown - line 2 .... kontakte"
Ich hab leider kaum Ahnung von der Syntax...
 
Hallo Bernd und danke für die schnelle Antwort!

Erst meckert er bei den Semikolons, wenn ich die entferne, liefert die Abfrage leider "Token unknown - line 2 .... kontakte"
Ich hab leider kaum Ahnung von der Syntax...

Bist Du Dir sicher, überhaupt mit MySQL zu hantieren? Was für einen Client nutzt Du? (Falls die letzte Frage zu komplex ist: wie heißt das Programm, was Du grad nutzt?)
 
Tja, da hab ich wohl nen Fehler gemacht beim Cut & Paste

So was solltest du da bekommen.

Code:
mysql>
mysql> select version();
+-------------------------+
| version()               |
+-------------------------+
| 10.0.9-MariaDB-1~wheezy |
+-------------------------+
1 row in set (0.00 sec)

mysql> show create table a1;
| Table | Create Table                                                                                                                            
| a1    | CREATE TABLE `a1` (
  `Column1` varchar(255) DEFAULT NULL,
  `Column2` varchar(255) DEFAULT NULL,
  `Column3` varchar(255) DEFAULT NULL,
  `Column4` varchar(255) DEFAULT NULL,
  `Column5` varchar(255) DEFAULT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
1 row in set (0.00 sec)

mysql>

Bei dem "SHOW CREATE TABLE kontakte;" kann es sein das du vorher

use DBNAME;

ausführen musst. DNNAME ist dabei die Datenbank in der die Tabelle Kontakte ist.

Mit welchem Client arbeitest du eigentlich ?

Gruss

Bernd
 
Der Client nennt sich "Landwehr SQL-Editor" (Version 19.05.2009) und ist wohl eine eigene Entwicklung der Kundendatenbanksoftware Landwehr L1.

Alleine bei
"mysql>
mysql> select version();"
liefert er mir schon "SQL-Statement konnte nicht ausgeführt werden. Allgemeiner SQL-Fehler, Token unknown: mysql"

Versuche ich nur "select version();" kommt Token unknown: ;"
Ohne Semikolon bekomme ich ein "Unexpected end of command"

Ich bin grad total verunsichert...
 
Der Client nennt sich "Landwehr SQL-Editor" (Version 19.05.2009) und ist wohl eine eigene Entwicklung der Kundendatenbanksoftware Landwehr L1.

Ja, alles klar. Du kannst nicht erwarten, daß man Dich in China versteht, wenn Du bayrisch sprichst. Schau Dir an, was "MySQL" und "Landwehr L1" allein an der Schreibweise gemeinsam haben.
 
Ja, alles klar. Du kannst nicht erwarten, daß man Dich in China versteht, wenn Du bayrisch sprichst. Schau Dir an, was "MySQL" und "Landwehr L1" allein an der Schreibweise gemeinsam haben.

Soll heißen, dass die ihre eigene SQL-Syntax haben? Ich dachte eigentlich schon, dass das auf einer Standard-Firebird SQL läuft... An wen müsste ich mich denn da wenden?

Landwehr L1 ist ja nur die Software, mit der man auf die Inhalte der Datenbank zugreifen kann...
 
Soll heißen, dass die ihre eigene SQL-Syntax haben? Ich dachte eigentlich schon, dass das auf einer Standard-Firebird SQL läuft... An wen müsste ich mich denn da wenden?

Das geht schon los, daß Du nicht erkannt hast, daß das 'mysql>' der Prompt der (Möchtegern)-DB darstellt, daß ist nicht Bestandteil des Befehles und daher auch nicht einzugeben.

Und ja, sehr wahrscheinlich steckt da $irgendwas dahinter, was genau, kannst Du der bestimmt umfangreichen Doku entnehmen.
 
Das geht schon los, daß Du nicht erkannt hast, daß das 'mysql>' der Prompt der (Möchtegern)-DB darstellt, daß ist nicht Bestandteil des Befehles und daher auch nicht einzugeben.

Und ja, sehr wahrscheinlich steckt da $irgendwas dahinter, was genau, kannst Du der bestimmt umfangreichen Doku entnehmen.

Sorry akretschmer, wollte dir nicht auf die Füße treten. Ich dachte, ich würde als Mensch mit wenig Ahnung hier Hilfe bekommen, ansonsten hätte ich ja nicht darum gebeten...
Die anderen Abfragen habe ich auch irgendwie hinbekommen. Lediglich an dieser einen hat es an meiner Ahnungslosigkeit gescheitert...
 
Hey, slow down. Hab ich irgend was gesagt?
Ne, ganz easy. War nicht böse gemeint. Bin wie gesagt ein Laie, der versucht mit eurer Hilfe eine Lösung zu finden. Das Handbuch gibt leider nichts Preis, das von Wert für mich wäre. Dabei kenne ich nicht mal einen Unterschied zwischen SQL, MySQL und Firebird SQL, auf dem die Landwehr Software läuft. Kann gut sein, dass ich hier falsch bin. Andererseits bin ich von einer Syntax ausgegangen...

Aber wieder zum Thema: Sagt euch "(blob)" etwas? Habe das bei einer Abfrage der Zellen gerade bekommen.
 
Werbung:
HEHE! Und könnte man diese Felder auslesen, wenn davon auszugehen ist, dass nur Text drin gespeichert ist?

Ist stark abhängig von der DB. Hier eine Spielerei mit PostgreSQL:

Code:
test=# create table blafasel (id int, b bytea);
CREATE TABLE
test=*# insert into blafasel values (1, '123 abc');
INSERT 0 1
test=*# select id, b from blafasel ;
 id |  b
----+------------------
  1 | \x31323320616263
(1 row)

test=*# select id, b, encode(b, 'escape') from blafasel ;
 id |  b  | encode
----+------------------+---------
  1 | \x31323320616263 | 123 abc
(1 row)

Die interne Speicherung des Strings '123 abc' ist halt \x31323320616263, will man das wieder in lesbar haben bemüht man encode().
 
Zurück
Oben