1
私はcsv(SQL Serverデータベースからのデータ抽出)をMySQLにインポートしようとしています。キー 'PRIMARY'の重複エントリ
私は、ファイルをロードするには、このコマンドを使用してい:
LOAD DATA INFILE '/Users/Tyler/Desktop/playersToTeams.txt' INTO TABLE players_to_teams FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
をそして、私はこのエラーを取得する:
Error Code: 1062. Duplicate entry '124547' for key 'PRIMARY'
私は実行すると:grep 124547 playersToTeams.txt
:
119683,True,True,124547,1493,2011-08-31 02:22:56.630000000,,,,,http://bucknellbison.cstv.com///sports/m-wrestl/mtt/stolfi_joe00.html,,,,,,
124547,True,True,129411,14726,2011-08-31 02:22:56.630000000,Free/Breast,,,,http://usctrojans.collegesports.com/sports/m-swim/mtt/walling_emmett00.html,,,,,,
私がすることができます最初のエントリの4番目の列が最初の列(pk、id)と同じ番号を持つが、4番目の列はhそれの上にインデックスの任意の並べ替え。
ここでは、SQLワークベンチで作成された作成スキーマです:
CREATE TABLE `players_to_teams` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`IsActive` tinyint(1) DEFAULT NULL,
`IsVisible` tinyint(1) DEFAULT NULL,
`PlayerId` int(11) DEFAULT NULL,
`TeamId` int(11) DEFAULT NULL,
`CreationDate` datetime DEFAULT NULL,
`Position` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`Number` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`Club` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`BT` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`BioLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`OtherBioLink` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`StartYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`EndYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`NeulionPlayerID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SeasonYear` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`GamesPlayed` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=124549 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci$$
私はLOAD DATA
コマンドを再実行した場合は、何も変更せずに、私は別のエラーを取得し、この時間は数が前回よりも2以上である(124549対124547)。再度実行すると124552にスキップされます。
この重複したエラーの原因は何ですか?
ありがとうございました
「LOAD DATA」コマンドを再度実行する前に必ずテーブルを切り捨てたのですか?あなたのテキストファイルは整形されていますか?すべての行に同じ数の列がありますか?テキストファイル自体はUTF-8ですか? – Vapire
テキストに空白行があるか、idが空の行があるかどうかを確認できますか?おそらく、それはAuto_incrementと関係があります。 – flo
@Vapire - そうです、私は常にLOAD DATAを実行する前にテーブルを空にしました。列数とエンコーディングをチェックする方法に関するアイデアはありますか? –