sql >> Database teknologi >  >> RDS >> Sqlserver

SQL vil ikke indsætte null-værdier med BULK INSERT

Ifølge:

http://msdn.microsoft.com/en-us/library/ms187887 .aspx

null-værdier kan indsættes ved at have et tomt felt i din fil.

Eksempel på fil var:

1,,DataField3
2,,DataField3

Eksempel på metode til at importere fil med nuller er:

USE AdventureWorks;
GO
BULK INSERT MyTestDefaultCol2
FROM 'C:\MyTestEmptyField2-c.Dat'
WITH (
    DATAFILETYPE = 'char',
    FIELDTERMINATOR = ',',
    KEEPNULLS
);
GO

Indrømmet, det betyder, at du bliver nødt til at ændre dine "NULL" til "", og alle tomme strenge, du ville have som tomme strenge, ville blive fortolket som nuller, men det kan være nok til at komme i gang? Jeg kunne forestille mig at beholde dine tomme strengkolonner, de skulle ændres fra

field1,,field2

til

field1,"",field2

som eksempel



  1. hibernate, mysql, glassfish v3 og JTA datakilde

  2. GROUP_CONCAT med JOINLEFT i Zend Db Vælg

  3. Online skemaopgradering i MySQL Galera Cluster ved hjælp af RSU-metoden

  4. Simpelt eksempel på mange-til-mange-relation ved hjælp af Sequelize