Bonjour
Je possède une base de donnée dans laquelle un attribut peut ne pas être remplit. Je souhaiterais savoir comment tester s'il est remplit ou pas dans une clause WHERE
On ne peut pas écrire expression = NULL parce que NULL n'est pas « égal à » NULL (la valeur NULL représente une valeur inconnue et il est impossible de dire si deux valeurs inconnues sont égales). Ce comportement est conforme au standard SQL.
Merci pour l'info
J'ai encore une question, un peu du même style.
Mon attribut est de type DATE, et comme il n'est pas obligatoirement remplit, je décide d'insérer une ligne où je ne remplit pas ce champ.
Ma ligne a cette forme, le champ en question est le second dans mon exemple (je ne le remplit pas) :
INSERTINTOTABLEVALUES(attribut1,,attribut3)
puisque je décide de ne pas remplire le second attribut, je ne met rien entre les deux virgules.
Or, on me répond syntax error
Si je met une chaine de caractère vide '' entre les deux virgules, on me dit invalide input syntaxe pour le type DATE.
Comment celà se fait-il qu'il me jette lorsque je ne remplit pas un champ? La date null est-elle représenté par une chaine particulière?
je crois que la premiere solution est plus performante
mais tu doit avoir definie une valeur par defaut pour le champ si tu utilise DEFAULT
pour la date , tu peut aussi mettre NOW() si tu veut la date de l'insertion
mais alors, celà me pose un problème car pour créer mes tables, j'utilise un fichier .sql dans lequel je cré ma table, et ensuite je la charge à partir d'un fichier en utilisant la ligne suivante
et au chargement, j'ai une erreur à la troisieme ligne, car je n'ai rien mis entre les deux virgules. Ce qui est normal puisque j'ai envie de laisser ce champ vide. (Je précise que ce champ n'est pas déclaré NOT NULL a la crétion de la table).
Ma question est donc : comment spécifier que je ne souhaite pas remplir ce champ, dans le fichier Table.dat?
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Pas d'aide concernant le code par MP, le forum est là pour ça :)