Rechercher dans le manuel MySQL
B.4.4.3 Problems with NULL Values
The concept of the NULL
value is a common
source of confusion for newcomers to SQL, who often think that
NULL
is the same thing as an empty string
''
. This is not the case. For example, the
following statements are completely different:
Both statements insert a value into the
phone
column, but the first inserts a
NULL
value and the second inserts an empty
string. The meaning of the first can be regarded as
“phone number is not known” and the meaning of
the second can be regarded as “the person is known to
have no phone, and thus no phone number.”
To help with NULL
handling, you can use the
IS NULL
and IS
NOT NULL
operators and the
IFNULL()
function.
In SQL, the NULL
value is never true in
comparison to any other value, even NULL
.
An expression that contains NULL
always
produces a NULL
value unless otherwise
indicated in the documentation for the operators and functions
involved in the expression. All columns in the following
example return NULL
:
To search for column values that are NULL
,
you cannot use an expr = NULL
test. The
following statement returns no rows, because expr =
NULL
is never true for any expression:
To look for NULL
values, you must use the
IS NULL
test. The following
statements show how to find the NULL
phone
number and the empty phone number:
See Section 3.3.4.6, “Working with NULL Values”, for additional information and examples.
You can add an index on a column that can have
NULL
values if you are using the
MyISAM
, InnoDB
, or
MEMORY
storage engine. Otherwise, you must
declare an indexed column NOT NULL
, and you
cannot insert NULL
into the column.
When reading data with LOAD
DATA
, empty or missing columns are updated with
''
. To load a NULL
value
into a column, use \N
in the data file. The
literal word NULL
may also be used under
some circumstances. See Section 13.2.7, “LOAD DATA Syntax”.
When using DISTINCT
, GROUP
BY
, or ORDER BY
, all
NULL
values are regarded as equal.
When using ORDER BY
,
NULL
values are presented first, or last if
you specify DESC
to sort in descending
order.
Aggregate (summary) functions such as
COUNT()
,
MIN()
, and
SUM()
ignore
NULL
values. The exception to this is
COUNT(*)
, which counts rows and
not individual column values. For example, the following
statement produces two counts. The first is a count of the
number of rows in the table, and the second is a count of the
number of non-NULL
values in the
age
column:
For some data types, MySQL handles NULL
values specially. If you insert NULL
into a
TIMESTAMP
column, the current
date and time is inserted. If you insert
NULL
into an integer or floating-point
column that has the AUTO_INCREMENT
attribute, the next number in the sequence is inserted.
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 26/06/2006, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/mysql-rf-problems-with-null.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.