나는 CSV를 MySQL로 가져 왔고 첫 번째 중복 엔트리 오류가 발생한 후에 MySQL로 가져 오기 전에 중복을 확인하는 몇 가지 기능을 찾고있다.ColdFusion에서 MySQL로 가져올 때 MySQL에서 중복 항목을 확인하는 방법은 무엇입니까?
나는 Coldfusion8, MySQL5.0.88
을 실행 중입니다.
내 가져 오기는 먼저 기본 데이터베이스로 커밋하기 전에 중간 테이블 (import_pricat_csv)로 이동합니다. 중간 테이블 내가 지금처럼 내 모든 수입 유효성 검사를하고있어 충전하는 경우 :이 데이터베이스에 최선을 다하고되고되기 전에
<cfquery datasource="db">
UPDATE import_pricat_csv
SET error= "true", errorMsg= "invalid EAN"
WHERE iln = <cfqueryparam value = "#Session.loginID#" cfsqltype="cf_sql_varchar" maxlength="13">
AND error= "no"
AND (ean is null OR NOT (ean REGEXP '[0-9]{13}' OR ean REGEXP '[0-9]{12}'))
</cfquery>
이 오류에 대한 import_pricat을 확인합니다. 나는 INSERT IGNORE
을 MySQL에 넣을 수 있지만 가져 오기 오류 보고서를 만들려면이 작업을 수행해야합니다.
ean
이 실제 데이터베이스 테이블 products
에 이미 있는지 확인하는 규칙을 추가해야합니다.
나는이 노력하고있어,하지만 작동하지 않습니다 내가 잘못 뭘하는지
<cfquery datasource="db">
UPDATE import_pricat_csv
SET error= "yes", errorMsg= "duplicate EAN"
WHERE iln = <cfqueryparam value = "#Session.loginID#" cfsqltype="cf_sql_varchar" maxlength="13">
AND error= "no"
AND ean IN (SELECT p.ean FROM products AS p WHERE p.ean = ean)
</cfquery>
어떤 생각을?
감사합니다.
cool. 감사! 나는 이것을 시도하고 그것이 어디서 왔는지를 알 것입니다. – frequent
Re : * 아무 것도 데이터를 임시 테이블에 가져올 수 없습니다. * 또한'varchar' 열을 사용할 수도 있습니다. 그런 다음 가져온 후 몇 가지 쿼리를 사용하여 유효성을 검사합니다. 또한 임시 테이블을 사용하는 한'cfloop'을 건너 뛰고'JOIN'을 사용하여 삽입/업데이트를 수행 할 수 있습니다. – Leigh