2017-07-03 6 views
0

ich diese einfache Abfrage mit PHP laufen und auch phpMyAdmin:Auswahlabfrage in mysql zurückkehren immer leer Ergebnis

SELECT * FROM `rdm_order` WHERE `aff_result` != "xyc" 

I geprüft. Tabelle, Spalte und Zeilen sind vorhanden.

aber die Abfrage gibt mir leeres Ergebnis zurück.

aff_result ist dieses Format: VARCHAR(10) COLLATE utf8_persian_ci

Es scheint alles, was richtig ist. Was ist falsch?

Sample data

Server: Localhost via UNIX socket 
Server type: MySQL 
Server version: 5.7.17-0ubuntu0.16.04.1-log - (Ubuntu) 
Protocol version: 10 
Server charset: UTF-8 Unicode (utf8) 

Apache/2.4.25 (Unix) OpenSSL/1.0.2g 
Database client version: libmysql - mysqlnd 5.0.12-dev 
PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation 
PHP version: 7.0.16 
+0

Alle 'aff_result' Werte sind' xyc' oder 'NULL'. –

+0

in Tabellen, ist NULL – Ali

+0

@HoneyBadger Ich habe es getan. gleiches Ergebnis. – Ali

Antwort

2

Es ist, weil die Werte NULL sind. NULL kann nicht durch einen = oder != Vergleich erfasst werden. Verwenden Sie die folgenden statt:

SELECT * 
FROM  `rdm_order` 
WHERE `aff_result` != 'xyc' 
OR  `aff_result` IS NULL 
0

Verwenden Sie den NULL -safe Vergleichsoperator:

SELECT * 
FROM `rdm_order` 
WHERE not `aff_result` <=> 'xyc'; 

Der ANSI-Standard Operator is distinct from ist.

+0

Nicht funktioniert. Die Abfrage funktioniert für den Typ text und int. aber nicht für Varchar. – Ali

+0

Dies funktioniert nicht für 'varchar()'? Das ist wirklich seltsam. –

-1

Wenn Sie mysql Befehl und Ihre Abfrage das erwartete Ergebnis verändern mit keinen guten Grund haben Standardwert von aff_result als NULL zu setzen, können Sie Ihre aff_result Spalte und Standardwert als ‚‘ (leere Zeichenkette) ändern wird zurückkehren einstellen.
Wie durch @Siyual erklärt, kann NULL nicht durch einen = oder! = Vergleich erfasst werden.
Und mit OR-Operator in where-Klausel ist nicht Index freundlich.

+0

Wenn Sie den Grund zum Downvote teilen können, werde ich das wirklich zu schätzen wissen. – money

Verwandte Themen