ホームページ >バックエンド開発 >PHPチュートリアル >複数のバッチにレコードを挿入する場合、複数の同一レコードを挿入するための「挿入」メッセージが表示されます。
複数のバッチでレコードを挿入すると、複数の同一レコードへの挿入が時々表示されます。これはどういう状況ですか?
解決方法
コードを投稿してください! ! !
バッチを追加するときは、1 回ループして 1 回追加するかどうかコードを確認してください。
for($i=0;$i $iaps=$iap[$i];
$row=mysql_query("選択数(*) from `dls` where `iap`='$iaps' "); //重複データがあるかどうかを確認します
$row=mysql_fetch_row($row);
if($row[0]){Continue;}
mysql_query("insert into `dls`(`iap`,`daq`,`kt`) value ('$iaps','$daqs','kt')");ループに問題があります。
1. ループを解決する最良の方法。
2. 繰り返し挿入を避けるために、特定のフィールドに UNIQUE インデックスを作成します。
2. 挿入の繰り返しを避けるために、insert into from duual where not存在しないステートメントを使用します
INSERT INTO [テーブル名] SELECT '[value1]', '[value2]' FROM DUAL
WHERE NOT EXISTS(
SELECT [column1] FROM [同じテーブル名]
WHERE [column1]='[value1]'
AND [column2]='[value2]' LIMIT 1
)
一貫性を確保するにはトランザクションを使用するのが最善です。
$row=mysql_fetch_row($row);
var_dump($row); 結果を出力します。