Ich habe eine Tabelle mit einigen E-Mail-Adressen. Die Adresse ist natürlich eine Zeichenkette, die ich bei der Tabellenerstellung als VARCHAR (100) DEFAULT NULL eingerichtet habe.MySQL WHERE-Klausel arbeitet nicht mit Strings
Nun, wenn ich benutze:
SELECT * FROM emails;
Es funktioniert gut, wenn ich wählen Sie auch IDs verwenden, ist es fein
SELECT * FROM emails WHERE id = 1;
funktioniert aber wenn ich versuche, eine bestimmte E-Mail
zu findenSELECT * FROM emails WHERE address = '[email protected]'
Es funktioniert einfach nicht. Es gibt keine passenden Zeilen zurück, aber ist ein Zeilenabgleich, weil es auf der SELECT * FROM emails
Abfrage erscheint.
Was kann hier passieren? Warum funktioniert die WHERE-Klausel nicht?
EDIT: Die Daten aus der folgenden Import kam
LOAD DATA LOCAL INFILE 'c:/users/user/dev/mysql/emails.txt'
INTO TABLE emails
FIELDS terminated by ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(address)
Sind Sie sicher, dass die Zeile mit dieser E-Mail-Adresse nichts anderes in dieser Spalte hat? Leerzeichen, ungerade Zeichencodes usw. – RiggsFolly
Anscheinend nicht. Ich habe auf die weißen Felder gedacht, deshalb habe ich 'UPDATE E-Mails SET-Adresse = TRIM (Adresse)' benutzt, aber alles ist gleich geblieben. – user1620696
Dann versuchen Sie ein LIKE, um zu sehen, ob dort etwas nicht einsehbar ist – RiggsFolly