MYSQL Erreur 1048 sur valeur null
TTNK
-
Smoking bird Messages postés 911 Statut Membre -
Smoking bird Messages postés 911 Statut Membre -
Bonjour,
J'ai une question concernant l'erreur 1048 de mysql : #1048 - Le champ [...] ne peut être vide (null) .
Dans les documentation(version 4 ou 5) on peut lire :
Si vous essayez de stocker NULL dans une colonne qui n'accepte pas la valeur NULL, MySQL stocke 0 ou '' (la chaîne vide). Ce dernier comportement peut, pour des insertions de ligne unique, être modifié par l'option de compilation -DDONT_USE_DEFAULT_FIELDS. See Section 2.4.2, « Options habituelles de configure ». Cela fait que les commandes INSERT génèreront une erreur à moins que vous ne spécifiez explicitement les valeurs pour toutes les colonnes qui requièrent une valeur non-NULL.
Neanmoins je constate deux comportement différent :
Dans certains cas à l'insertion de valeurs NULL dans un champ NOT NULL, MYSQL renvoie l'erreur 1048, et dans d'autre non.
exemple1 :
CREATE TABLE toto (nb INTEGER NOT NULL DEFAULT 0);
INSERT INTO toto VALUES(NULL);
Renvoi erreur 1048...
exemple2 :
CREATE TABLE toto (
nb INTEGER NOT NULL DEFAULT 0
nb2 INTEGER NOT NULL DEFAULT 0
nb3 INTEGER NOT NULL DEFAULT 0
);
INSERT INTO toto
SELECT [...];
Le résultat du SELECT renvoi certaines valeurs NULL, mais cette fois-ci je n'ai pas l'erreur 1048.
Quelqu'un peut-il me dire pourquoi?
Merci d'avance!
J'ai une question concernant l'erreur 1048 de mysql : #1048 - Le champ [...] ne peut être vide (null) .
Dans les documentation(version 4 ou 5) on peut lire :
Si vous essayez de stocker NULL dans une colonne qui n'accepte pas la valeur NULL, MySQL stocke 0 ou '' (la chaîne vide). Ce dernier comportement peut, pour des insertions de ligne unique, être modifié par l'option de compilation -DDONT_USE_DEFAULT_FIELDS. See Section 2.4.2, « Options habituelles de configure ». Cela fait que les commandes INSERT génèreront une erreur à moins que vous ne spécifiez explicitement les valeurs pour toutes les colonnes qui requièrent une valeur non-NULL.
Neanmoins je constate deux comportement différent :
Dans certains cas à l'insertion de valeurs NULL dans un champ NOT NULL, MYSQL renvoie l'erreur 1048, et dans d'autre non.
exemple1 :
CREATE TABLE toto (nb INTEGER NOT NULL DEFAULT 0);
INSERT INTO toto VALUES(NULL);
Renvoi erreur 1048...
exemple2 :
CREATE TABLE toto (
nb INTEGER NOT NULL DEFAULT 0
nb2 INTEGER NOT NULL DEFAULT 0
nb3 INTEGER NOT NULL DEFAULT 0
);
INSERT INTO toto
SELECT [...];
Le résultat du SELECT renvoi certaines valeurs NULL, mais cette fois-ci je n'ai pas l'erreur 1048.
Quelqu'un peut-il me dire pourquoi?
Merci d'avance!
Configuration: Windows XP Firefox 2.0.0.20