7
votes

Comment sauter une entrée de colonne sur Insérer lorsqu'une valeur est vide dans SQL?

J'insère beaucoup de lignes dans une base de données et certaines des colonnes sont vides pour certaines des lignes fortes>.

Comment puis-je insérer sans attribuer une valeur nominale à ces champs vides? P>

       1 INSERT Leads VALUES('name', 'cityName', 5, 'anotherValue')
       2 INSERT Leads VALUES('name', 'cityName',  , 'anotherValue')
       3 INSERT Leads VALUES('name', 'cityName', 2, 'anotherValue')
       4 INSERT Leads VALUES('name', 'cityName', 9, 'anotherValue')


2 commentaires

Vous devez corriger les requêtes source. par exemple. B y remplaçant tout , avec , null,


C'est exactement ce que je cherchais. Il suffit d'ajouter null. Parfait. Merci!


7 Réponses :


17
votes

Vous devez toujours spécifier explicitement les colonnes que vous insérez à - alors vous pouvez laisser celles que vous ne voulez pas: xxx

(ne laissant pas col3 ici dans cet exemple)


2 commentaires

Je suis aussi d'accord avec cette approche.


+1 Pour toujours spécifier des colonnes, mais cela ne répondra pas à la question.



9
votes

Il suffit de le dire d'insérer une null: xxx


0 commentaires

0
votes

Vous devez utiliser null s'il n'y a pas de valeur.


0 commentaires

2
votes

Vous devrez trouver ces champs et insérer un null. L'expression régulière /, \ s *, / doit identifier les lacunes. Si vous exécutez un linux / Mac Essayez:

perl -pi -e 's/,\s*,/, NULL,/g' path/to/file.sql


0 commentaires

2
votes

Une autre méthode que vous pouvez utiliser: xxx

Ceci fonctionnerait également pour les colonnes qui ont des valeurs par défaut et des colonnes que vous ne pouvez pas insérer une valeur à (comme Timeestamp)


0 commentaires

-1
votes

J'ai eu le problème d'une application existante qui a fonctionné dans Prod, mais pas sur une nouvelle installation locale.

mySQL devait être configuré comme ceci: xxx

et Ensuite, il acceptera une ligne comme: xxx


1 commentaires

La question concerne SQL-Server , pas MySQL.



0
votes

pour insérer des déclarations Utilisez des valeurs (NULL, ...) Si le champ accepte NULL

Utiliser des valeurs ('', ...) Si le champ a (, pas NULL) exigence, et pour les champs où vous ne voulez pas que NULL affiche E.G. un champ de note.


0 commentaires