2

csv を MySQL データベースにインポートする PHP スクリプトがあります。このコード行を使用すると、インポートは正常に機能します

$query = "insert into $databasetable values('$linemysql');";

唯一の問題は、スクリプトが重複している別の csv をインポートしようとするとエラーが発生することです。重複が存在する場合に重複をスキップするようにこのスクリプトを調整するにはどうすればよいですか?

4

2 に答える 2

4

INSERT IGNORE重複キーになる場合は行を挿入しません。ただし、制約NULLのある列に挿入しようとするなど、他のいくつかのケースも無視されます (エラーは生成されません) 。NOT NULL

重複を無視したいだけで他の挿入エラーが発生する場合は、INSERT ... ON DUPLICATE KEY UPDATE代わりに使用してください。これにより、重複するキーで行が更新されますが、パフォーマンス コストがいくらかかかります。

于 2012-04-20T10:25:31.940 に答える
2

mysql を使用している場合は、次を試してください。

$query = "insert ignore into $databasetable values('$linemysql');";
于 2012-04-20T10:12:30.570 に答える