特定の ID に対してデータ セットのコピーが 1 つだけであることを保証するDELETE
ステートメントが後に続くMySQLステートメントがあります。INSERT
(UPDATEを使わないのには理由があります)
問題は、5000 以上のエントリにまたがるデータ セットで、DELETE ステートメントが実行されず、INSERT ステートメントが実行されたインスタンスが 3 つあることに気付いたことです。最終結果は、指定された ID のエントリが重複していました。
以下は私のコードです。実行に失敗すると、php スクリプトはエラー メッセージとともに終了します。それは私の経験のレベルでなければなりません。問題の可能性はありますか?
//delete
$query_delete = "DELETE FROM q1_6_list WHERE q_id = '".mysql_real_escape_string($q[qID])."'";
$result = mysql_query($query_delete) or errorReport("Error in query: $query_delete. ".mysql_error());
//insert
$query_insert = "INSERT INTO q1_6_list (q_id, vehicle, quantity) VALUES";
$result = mysql_query($query_insert) or errorReport("Error in query: $query_insert. ".mysql_error());
if (!$result)
errorReport($result);
編集
よく調べてみると、直後に以下のコードを追加していないことに気付きました$result = mysql_query($query_delete)....
if (!$result)
errorReport($result);
これは、他のすべてのエラー メッセージをキャッチするためにも必要でしょうか。それとも、mysql_query($query_delete) or errorReport...
発生したすべてのエラーをキャッチするのでしょうか?