为什么在SQL Server字段中输入的唯一值是0?

时间:2011-09-29 20:08:56

标签: sql sql-server sql-server-2008 csv bulkinsert

我有两个表csvtemp和两个表中的引导我有一个is_download字段,我正在将数据从一个表移动到另一个表

首先我用这个

插入csvtemp表
CREATE TABLE CSVTemp
(id INT,
firstname VARCHAR(255),
lastname VARCHAR(255),
department VARCHAR(255),
architecture VARCHAR(255),
phone VARCHAR(255),
email VARCHAR(255),
download VARCHAR(255),
comments VARCHAR(MAX),
company VARCHAR(255),
location VARCHAR(255),
is_download VARCHAR(255)
)
GO

BULK
INSERT CSVTemp
FROM 'c:\leads\leads.csv'
WITH
(
DATAFILETYPE = 'char', 
BATCHSIZE = 50, 
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
)
GO
--Check the content of the table.
SELECT *
FROM CSVTemp
GO

然后我检查了csvtemp表,这是我目前为止的数据

id,firstname,lastname,department,architecture,phone,email,download,comments,company,location,is_download
258,sdf,ssss,NULL,NULL,951-5566,kate@gmail.com,"Aldelo for Restaurants","I am just looking right now.  When I get ready to purchasing I will contact you.","my Diner","Aldelo for Restaurants demo download",1

274,Scott,Henry,sales,NULL,485-755-7439,aerf99@comcast.net,NULL,"Need a POS cash registering system that can help us.","The Attak","Contact Us: Contact Form",0

275,Test,Tstt,NULL,NULL,8566778888,test@test.com,"Aldelo for Restaurants",testing,Staction,"Aldelo for Restaurants demo download",1

到目前为止,1和0正如预期的那样在is_download字段中输入,但是当我这样做时,下一步将它从csvtemp移动到引导表中它的0

INSERT INTO [SalesLogix].[sysdba].[LEAD] (
    LEADID,
    ASSIGNDATE,
    COMPANY_UC,
    EMAIL,
    ISDOWNLOAD,
    WORKPHONE) 
SELECT 
         'Q' + cast(floor(999997 * RAND(convert(varbinary, newid()))) as varchar(20)) + cast(floor(999 * RAND(convert(varbinary, newid()))) as varchar(20))
       ,CURRENT_TIMESTAMP
       ,replace(UPPER(company), '"', '')
       ,replace(email, '"', '')
       ,is_download
       ,replace(phone, '"', '')

  FROM [SalesLogix].[sysdba].[CSVTemp]

其他所有内容都插入正常,但is_download始终为0

BTW引导表中的ISDOWNLOAD是varchar(80)

... UPDATE

这里是潜在客户表中的一些记录......我之前无法获得三个froom,因为它们已被删除但是这里看起来就像ISDOWNLOAD一样0

LEADID   CREATEUSER  CREATEDATE  MODIFYUSER  MODIFYDATE  ACCOUNTMANAGERID    ASSIGNDATE  BUSINESSDESCRIPTION COMPANY COMPANY_UC  CREDITRATING    DATAQUALITY DESCRIPTION DIVISION    DONOTSOLICIT    EMAIL   EMPLOYEES   FAX FIRSTNAME   HOMEPHONE   IMPORTID    IMPORTSOURCE    INDUSTRY    INTERESTS   ISPRIMARY   LASTCALLDATE    LASTNAME    LASTNAME_UC LEADSOURCEID    MIDDLENAME  MOBILE  NEXTCALLDATE    NOTES   PREFERRED_CONTACT   PREFIX  PRIORITY    QUALIFICATION_CATEGORYID    REVENUE SECCODEID   SICCODE STATUS  SUFFIX  TICKER  TITLE   TOLLFREE    TYPE    ISDOWNLOAD  USERFIELD2  USERFIELD3  USERFIELD4  USERFIELD5  USERFIELD6  USERFIELD7  USERFIELD8  USERFIELD9  USERFIELD10 WEBADDRESS  WORKPHONE   LEAD_ADDRESSID  DONOTEMAIL  DONOTFAX    DONOTMAIL   DONOTPHONE
Q102842996      U6UJ9A00000S    36:10.1 U6UJ9A00000G    31:27.0 U6UJ9A00000G    36:10.1 NULL    Lunch Money LUNCH MONEY NULL    NULL    NULL    NULL    0   shane.hubbell@gmail.com NULL    NULL    Shane   NULL    NULL    NULL    sales   Contact Us: Contact Form    T   NULL    Hubbell HUBBELL L6UJ9A000004    NULL    NULL    NULL    Interested in your software more than your hardware.  Please email first and well setup some time to chat.  NULL    NULL    NULL    NULL    NULL    SYST00000001    NULL    New NULL    NULL    NULL    NULL    NULL    0   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    5185705656  QQ102842996     NULL    NULL    NULL    NULL
Q103999935      U6UJ9A00000S    06:10.2 U6UJ9A00000E    53:43.0 U6UJ9A00000E    06:10.2 NULL    Alajamy ALAJAMY NULL    NULL    NULL    NULL    0   sfgsd@hotmail.fr    NULL    NULL    Nizar   NULL    NULL    NULL    NULL    Aldelo for Restaurants demo download    T   NULL    Ben Ali BEN ALI L6UJ9A000002    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    SYST00000001    NULL    Follow-up   NULL    NULL    NULL    NULL    NULL    0   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    QQ103999935     NULL    NULL    NULL    NULL
Q109565345      U6UJ9A00000S    36:10.1 U6UJ9A00000G    00:20.0 NULL    36:10.1 NULL    NULL    NULL    NULL    NULL    NULL    NULL    0   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    T   NULL    NULL    NULL    L6UJ9A000004    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    SYST00000001    NULL    Purge   NULL    NULL    NULL    NULL    NULL    0   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    QQ109565345     NULL    NULL    NULL    NULL
Q11143312       U6UJ9A00000S    06:10.1 U6UJ9A00000G    10:27.0 U6UJ9A00000G    06:10.1 NULL    Noobs   NOOBS   NULL    NULL    NULL    NULL    0   fdfgsd@gmail.com    NULL    NULL    Eduardo     NULL    NULL    NULL    NULL    Aldelo for Restaurants demo download    T   NULL    Torres  TORRES  L6UJ9A000004    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    SYST00000001    NULL    New NULL    NULL    NULL    NULL    NULL    0   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    QQ11143312      NULL    NULL    NULL    NULL

从CSVTemp运行SELECT' $$'+ is_download +'$$'之后另一个编辑

$$1 $$
$$0 $$
$$1 $$

1 个答案:

答案 0 :(得分:1)

仅使用您发布的代码和insert语句来替换BULK INSERT(这似乎不是问题),我能够在CSVTemp中创建正确转换为LEAD表的行。

其他必须继续进行。检查以确保LEAD表上没有任何触发器。