1
私はこの問題を2日間にわたり研究しています。次の場合があります。 ユーザーがデータを設定します。その行がある場合は、user_id(Primary Key)
行が更新されます(行が挿入されていない場合)。今のところ良いですが、ユーザーが同じ値を設定すると、更新されず、挿入クエリが実行されます。これは、既にuser_id
という行が存在するため、エラーが表示されます。 したがって、行が更新されないのは、値が同じで挿入を実行しないために検出できますか?PHP/MySQL同じ値で更新されていないか確認してください
UPDATE %s SET %s WHERE `user_id`=%d
if ($this->db->affected_rows() <= 0) {
INSERT...
}
と値が0
同じとmysqli_affected_rows
リターンですので、私は得る::
現在、私のコードがある
Duplicate entry 'xxxxx' for key 'PRIMARY'
私はINSERT IGNORE
を読んだからそれているため、推奨されていませんエラーが表示されず、そのようなものがあるかどうかを知る必要があります。 INSERT ON DUPLICATED KEY
は非常に遅く、私はそれを使用したくありません。では、私の選択肢は何ですか?
ありがとうございます。
ありがとうございました。 INSERT UPDATEでINSERTを変換します。 – Lanexbg