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!
A voir également:
- MYSQL Erreur 1048 sur valeur null
- Mysql community download - Télécharger - Bases de données
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Valeur relative et absolue - Forum Excel
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
- Erreur upes 1025 - Forum Téléviseurs
2 réponses
probablement parce que la valeur de ta première requête est explicitement NULL là où ça ne devrait pas l'être, et là où le default est paramétré différement, en gros, tu forces les choses^^
TTNK
Merci pour ta réponse rapide, mais là ou je m'étonne c'est que selon la doc, le premier cas ne devrait pas non plus renvoyer d'erreur.