J'insère beaucoup de lignes dans une base de données et certaines des colonnes sont vides 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')
7 Réponses :
Vous devez toujours spécifier explicitement les colonnes que vous insérez à - alors vous pouvez laisser celles que vous ne voulez pas: (ne laissant pas col3 code> ici dans cet exemple) p> p>
Je suis aussi d'accord avec cette approche.
+1 Pour toujours spécifier des colonnes, mais cela ne répondra pas à la question.
Il suffit de le dire d'insérer une null:
Vous devez utiliser null code> s'il n'y a pas de valeur. P>
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
Une autre méthode que vous pouvez utiliser: 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) P > p>
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: p> et Ensuite, il acceptera une ligne comme: p>
La question concerne SQL-Server , pas MySQL.
pour insérer des déclarations Utilisez des valeurs (NULL, ...) Si le champ accepte NULL P>
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. P>
Vous devez corriger les requêtes source. par exemple. B y remplaçant tout
, code> avec, null, code>C'est exactement ce que je cherchais. Il suffit d'ajouter null. Parfait. Merci!