首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用大容量插入在Server上插入空字符串

使用大容量插入在Server上插入空字符串
EN

Stack Overflow用户
提问于 2013-03-23 00:14:42
回答 1查看 14.9K关注 0票数 4

示例表包含字段Id (表的标识,一个整数);Name (一个允许空值的简单属性,它是一个字符串)

我正在尝试一个包含以下内容的CSV:

1、 1,“ 1,'‘

它们都没有给出一个空字符串作为大容量插入的结果。我正在使用Server 2012。

我能做什么?

EN

回答 1

Stack Overflow用户

发布于 2014-01-03 10:55:49

请记住,只有在不使用KEEPNULLS选项的情况下,才会插入指定的默认值。使用与上面相同的示例,如果将选项KEEPNULLS添加到BULK INSERT中,即:

代码语言:javascript
复制
BULK INSERT BulkInsertTest
FROM '....\test.csv'
WITH 
(
    FIELDTERMINATOR ='\,',
    ROWTERMINATOR ='\n',
    KEEPNULLS
)

将导致忽略默认列值,并从空字符串插入NULL,即:

代码语言:javascript
复制
SELECT * FROM BulkInsertTest

现在将给你:

代码语言:javascript
复制
id  name
1   NULL
1   ""
1   ''

在您的示例中添加KEEPNULLS似乎没有很好的理由,但我刚才遇到了一个类似的问题,在BULK INSERT中需要KEEPNULLS

我的解决方案是在暂存表[name]中定义BulkInsertTestNOT NULL,但请记住,缺省列值将被忽略,空字符串将被插入。

请参阅这里的更多内容:在批量导入期间保留Nulls或UseDefault值( Server)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15581814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档