ファイルにいくつかのデータがあり、csv
それを Mysql テーブルに挿入したいと考えています。私の質問は、重複する値がテーブルに挿入されないようにする方法です。次のリファレンスhttp://dev.mysql.com/doc/refman/5.1/en/load-data.htmlを見ましたが、キーワードIGNORE
がありますが、それを使用して一意の値のみを挿入する方法がわかりません。
1140 次
3 に答える
1
一意のインデックスを追加し、言及した IGNORE を使用します。
ALTER TABLE
myTable
ADD UNIQUE idxName (myFieldA, myFieldB,myFieldC);
または、コマンド ラインで csv ファイルを次のようにフィルタリングします。
sort -u in.csv > out.csv
于 2012-10-05T19:40:16.083 に答える
0
挿入先のテーブルに一意性制約または一意のインデックスを追加します。
于 2012-10-05T19:34:01.343 に答える
0
1 つ以上の列を使用してテーブルに一意のインデックスを追加します。
CREATE TABLE `test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`start` VARCHAR(10) DEFAULT NULL,
`end` VARCHAR(10) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `start` (`start`,`end`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
重複インデックス エラーが原因でエラーになった行をスキップするには、ignore を使用します。
INSERT IGNORE into test (id, start, end) values (1,'test','test');
負荷の使用:
LOAD DATA INFILE 'file_name' IGNORE INTO TABLE test;
于 2012-10-05T19:40:28.630 に答える