2012-03-19 6 views
-2

Я выполнил следующую команду: LOAD DATA INFILE '/Users/Tyler/Desktop/players_20120318.txt' INTO TABLE players FIELDS TERMINATED BY ',' LINES TERMINATED by '\ n';LOAD DATA INFILE id

На этих данных:

PlayerId,IsActive,IsVisible,FirstName,LastName,HeightFeet,HeightInches,Weight,Birthday,Gender,HometownCity,HometownState,HometownZip,HometownCountry,HighSchoolId,HighSchoolIdTemp,HighSchoolGradYear,CollegeYear,Redshirted,Transferred,CollegeId,CollegeIdTemp,CollegeGradYear,OtherAccountId,PreviousCollegeId,CurrentTeamId,LateralRecommendationReason,LateralRecommendationLink,CreationDate,CreatedBy,LastModifiedDate,LastModifiedBy,TwitterLink,FacebookLink,PersonalWebsite,PlayerImage,FirstNameNickName,NeulionID,OtherTeamID,OtherSportTypeID,SourceDataTypeID,PlayerTypeID,LoadID,SameNameTeammate,SameNameSchoolMate,SD_SportID,SD_PlayerID,ZeroNCAAStats,ModifiedByPythonGame,Missing2011,Transfer2011,RecruitingClass  
21,True,True,John,Frost,6,1,185,,M,Decatur,AL,35603,,{A0AD8B45-47E1-4039-85DF-756301035073},7453,2009,JR,False,False,{299F909C-88D9-4D26-8ADC-3EC1A66168BB},844,2013,{EBA5A9E6-E03E-4AE5-B9B8-264339EE9259},,0,,,2011-02-16 20:53:34.877000000,,2012-03-08 01:43:37.593000000,{5EBB0160-E69A-4EA2-89D5-932DD4D58632},,,,,,,45759,1,1,5,,,,,,,,,, 
1344,True,True,Zach,Alvord,6,0,173,,M,Alpharetta,GA,30022,,{379BF463-67A9-480E-8FFB-9B50AD494953},11597,2010,SO,False,False,{7208C8FB-6780-4379-BC25-5DC5064C85FD},36,2014,{CDACD2C7-7667-406C-9662-02B378B00032},,0,,,2011-02-16 20:53:34.970000000,,2012-03-07 23:28:17.343000000,{5EBB0160-E69A-4EA2-89D5-932DD4D58632},,,,,,,45710,1,1,5,,,,,,,,,, 

И Mysql принимает, что первый столбец (PlayerID) и присваивает его столбец идентификаторов. Он также менял все по одному столбцу (имя было заполнено фамилией).

Является ли это ожидаемым поведением?

+0

Для правильного форматирования вопроса требуется более 8 секунд; сейчас это немного беспорядок. – Bojangles

+0

Извините, что когда я нажал enter, чтобы отправить свой вопрос, я случайно нажал в текстовом поле –

+1

У вас есть настройка столбца 'id' как auto_increment? –

ответ

1

Я считаю, что MySQL будет правильно вставить данные, пропуская id колонки до тех пор, как это установлен на auto_increment. В противном случае вы можете указать столбцы индивидуально, как указал Бобби.

1

Чтобы избежать этой проблемы, указать столбцы вы загружаете данные в и оставить вне поля ID:

LOAD DATA INFILE '/Users/Tyler/Desktop/players_20120318.txt' INTO TABLE players (col1, col2, col3...) FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; 
+0

Действительно ли 'INFILE' автоматически принимает первое поле, является ли поле id, если оно является целым числом? –

+1

'INFILE' будет автоматически пытаться загружать данные для каждого неавтоматического приращения поля в таблице в порядке, независимо от типа. –