上で使用して私は、データベース内の非常に単純なテーブル構造があります。ユーザーIDとグループIDにUNIQUEキーでINSERTは、DELETE - DUPLICATE KEY
ID (Unique), userid, groupid
を - あなたは2と同じを持って傾けるようにします。たとえば:
ID userid groupid
1 86 5
2 86 6
は可能ですが、:可能イマイチ
ID userid groupid
1 86 5
2 86 5
。
これはすべて問題なく動作します。私がしようとしているのは、行をINSERTしようとしていて、それが重複のために失敗した場合は、その行を削除します。私のコードは単純です:
$group_query = $database->prepare("INSERT INTO users_groups (userid,groupid) VALUES (?,?) ON DUPLICATE KEY DELETE FROM users_groups WHERE userid=? AND groupid=?");
$group_query->bind_param("iiii", $user_id, $group_id, $user_id, $group_id);
私はこの簡単な理由はありません。すべての変数は整数に設定されています。それらはすべて実際の数値です(チェックされています)。構文はすべてうまく見えます。私が持っている唯一の結論は、それが有効なクエリではないことです - しかし、なぜそれが有効なクエリではないのか分かりません。
ありがとうございます!
あなたが最初のユーザーIDとグループIDに基づいて行を選択するために、SELECT文を使用することができます
はIODKDについて聞いたことがありません。あなたはあなたが選んだ動詞を記入するだけではありません。 – Drew
私はこのページでIODKDの検索を実行し、あなたが書いたものだけを思いついた。私はまた、IODKDについて聞いたことがありません:) –
私はまた、IODKEMCF(duplicate keyのメールに私のcsvファイルを挿入)を聞いたことがありません – Drew