0

次のようなフィールドを持つテーブルにデータをインポートしようとしています。

result_id

このフィールドは、、およびに設定さAUTO_INCREMENTPRIMARYますUNIQUE

インポートしているデータのresult_idフィールドには、テーブルの現在のデータと同じ(場所によって)情報があります。重複があるため、SQLではインポートできません(これは十分に公平です)。

result_id基本的にSQLフィールド内の数値を継続するために、インポートしているデータをSQLに追加し、重複データを使用しないようにする方法はありますか?私が尋ねている理由は、約25,000のレコードをインポートしており、result_idインポートするデータから情報を手動で削除または変更する必要がないためです。

ありがとう、

H。

4

1 に答える 1

4

データをどのように MySQL にインポートしていますか?

SQLクエリ/スクリプトを使用している場合は、INSERT INTO.... テキストエディタでファイルを開き、すべてINSERTINSERT IGNORE. これにより、重複する主キーを持つ行の挿入が無視されます。または、古いデータをインポート スクリプトと同じ主キーに置き換えたい場合は、単純REPLACEにクエリの代わりにINSERTクエリを使用します。

それが役に立てば幸い...

[編集]

主キーがあるため、自動インクリメントします。データをインポートするテーブルに、「ダミー」というダミー列を追加し、NULL にできるようにします。これで、インポート スクリプトに INSERT INTO () values () のようなステートメントが作成されます。列名のリストで、「result_id」を「dummy」に置き換えて、スクリプトを実行します。スクリプトを実行した後、テーブルから「ダミー」列を削除するだけです。少し汚れていて時間がかかりますが、あなたの仕事をします。

于 2012-11-07T10:24:21.750 に答える