私は使用MySQL 5.0.88/Coldfusion
していて、CSV ファイルをロードしている一時テーブルを持っています。このテーブルは検証され、メイン データベースにインポートされます。
一時テーブルで重複インポートのチェックを実行する必要があります。私は次のように一時テーブルをチェックしています:
<cfquery datasource="db">
UPDATE import_temp
SET error= "true", errorMsg = "missing info"
WHERE user = <cfqueryparam value = "#Session.user#" cfsqltype="cf_sql_varchar" maxlength="13">
AND error = "false"
AND info = ""
</cfquery>
質問: 次
のように一時テーブルで重複 ID をチェックすることは可能ですか?
<cfquery datasource="db">
UPDATE import_temp
SET error = "true", errorMsg = "duplicate id"
WHERE user = <cfqueryparam value = "#Session.user#" cfsqltype="cf_sql_varchar" maxlength="13">
AND error = "false"
AND id IN (SELECT i.id FROM import_temp AS i WHERE i.id = id)
</cfquery>
これは機能しませんが、このように機能させてエラー フィールドを false に設定する方法はありますか? on duplicate key
または、CSV ファイルをロードするときに使用する唯一の方法ですか?