0

「ON DUPLICATE KEY UPDATE」しようとしていますが、更新する代わりに新しい行を追加し続けます。

INSERT INTO favorites (userid, topicid) 
VALUES ('2', '50')
ON DUPLICATE KEY UPDATE
active = 0;

私のお気に入りテーブルは次のように設定されています。

favoritesid (AI)
userid
topicid
active (boolean)

activeuserid と topicid が既に存在する場合 (両方とも同じ行にある場合)、 0 に変更したいだけです。

これは可能ですか?

4

1 に答える 1

1

ON DUPLICATE KEYキーを押すには、挿入の前にキーが存在する必要があります。そこに一意のキーがないと、それを使用するのに役立ちません。

一意のキーを追加するか、最初にクエリを実行して、挿入する前に値がテーブルに既に存在するかどうかを確認する必要があります。

于 2013-07-03T19:18:48.077 に答える