ホームページ >バックエンド開発 >PHPチュートリアル >複数のバッチにレコードを挿入する場合、複数の同一レコードを挿入するための「挿入」メッセージが表示されます。

複数のバッチにレコードを挿入する場合、複数の同一レコードを挿入するための「挿入」メッセージが表示されます。

WBOY
WBOYオリジナル
2016-06-23 14:24:251301ブラウズ

複数のバッチでレコードを挿入すると、複数の同一レコードへの挿入が時々表示されます。これはどういう状況ですか?
解決方法


ディスカッションに返信(解決策)

コードを投稿してください! ! !
バッチを追加するときは、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); 結果を出力します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。