csv を MySQL データベースにインポートする PHP スクリプトがあります。このコード行を使用すると、インポートは正常に機能します
$query = "insert into $databasetable values('$linemysql');";
唯一の問題は、スクリプトが重複している別の csv をインポートしようとするとエラーが発生することです。重複が存在する場合に重複をスキップするようにこのスクリプトを調整するにはどうすればよいですか?
INSERT IGNORE
重複キーになる場合は行を挿入しません。ただし、制約NULL
のある列に挿入しようとするなど、他のいくつかのケースも無視されます (エラーは生成されません) 。NOT NULL
重複を無視したいだけで他の挿入エラーが発生する場合は、INSERT ... ON DUPLICATE KEY UPDATE
代わりに使用してください。これにより、重複するキーで行が更新されますが、パフォーマンス コストがいくらかかかります。
mysql を使用している場合は、次を試してください。
$query = "insert ignore into $databasetable values('$linemysql');";