Comment mettre à jour la colonne avec la valeur null
Je suis de l'utilisation de mysql et de la nécessité de mettre à jour une colonne avec une valeur nulle. J'ai essayé beaucoup de différentes manières et le meilleur que j'ai obtenu est une chaîne vide.
Est-il une syntaxe particulière pour ce faire?
- La colonne de permettre à une valeur NULLE?
- Oui, bien sûr. 🙂
- UPDATE table SET colonne = NULL OÙ ...; ne fonctionne pas?
- Non, pas du tout. C'est vraiment bizarre
Vous devez vous connecter pour publier un commentaire.
Aucune syntaxe spéciale:
NULL
est une valeur spéciale en SQL. Donc la valeur null à une propriété, faites ceci:Utilisation
IS
au lieu de=
Cela permettra de résoudre votre problème
exemple de syntaxe:
N'oubliez pas de regarder si votre colonne peut être null. Vous pouvez le faire en utilisant
Si votre colonne ne peut pas être nulle, lorsque vous définissez la valeur à la valeur null, il sera de la distribution de la valeur.
Ici un exemple
Pour ceux qui font face à un problème similaire, j'ai trouvé que, lorsque "simuler" un
SET = NULL
requête, PHPMyAdmin jeter une erreur. C'est un hareng rouge.. il suffit d'exécuter la requête et tout ira bien.Dans les réponses ci-dessus, de nombreuses façons et de répétitions ont été proposés pour la même chose.
Je l'ai gardé à la recherche d'une réponse, comme mentionné, c'est la question, mais ne pouvait pas trouver ici.
Mais en face de la question ci-dessus "mise à jour d'une colonne avec une valeur null"
Pourrait être "mise à JOUR de TOUTES LES LIGNES DANS LA COLONNE NULL"
Dans une telle situation, suite à des travaux
is
ainsiis not
travaille dans mysqlutilisation
is
au lieu de=
Par exemple:
Select * from table_name where column is null
Une autre raison possible pour la chaîne vide, plutôt qu'un vrai null, c'est que le champ est un indice ou un indice. Ce qui m'est arrivé: à l'aide de phpMyAdmin, j'ai édité la structure d'un champ dans une de mes tables pour permettre les valeurs Null par la vérification de la "Null la case à cocher" puis en appuyant sur la "Enregistrer" bouton. "Tableau de tarification a été modifié avec succès" a été affiché donc, je suppose que le changement qui s'est produit, il n'a pas. Après avoir fait une mise à JOUR pour définir tous les champs pour NULL, ils ont été, au contraire, mis à des chaînes vides, alors j'ai pris un coup d'oeil à la structure de la table de nouveau et vu que le "Null" colonne pour ce champ a la valeur 'pas'. C'est quand j'ai réalisé que le terrain faisait partie de la clé Primaire!
Si vous souhaitez définir la valeur null à l'aide de requête de mise à jour de définir la valeur de la colonne NULL (sans les guillemets)
update nomtable set columnname = NULL
Toutefois, si vous êtes modifier directement la valeur du champ à l'intérieur de mysql workbench ensuite utiliser (Esc + del) touche pour insérer la valeur null dans la colonne sélectionnée
si vous suivez
puis le nom est "" not NULL MYSQL signifie que votre requête
SELECT * FROM table WHERE name = NULL
pas de travail ou de décevoir vousJe soupçonne que le problème ici est que les citations ont été saisies comme des littéraux dans votre chaîne de valeur. Vous pouvez définir ces colonnes à null à l'aide de:
Vous doit bien sûr d'abord de vérifier que ces valeurs sont en effet "" avec quelque chose comme: