0

私は 1 から 6 (両方を含む) までの順序付けシステムを持っています。この順序付け番号はfeatured、ユーザーの選択によってテーブル内のニュースに割り当てられます。ユーザーがニュースの注文を保存すると、featured次のフィールドを持つ新しい行がテーブルに挿入されます: id_newsid_userid_categoryおよびorder

私が探しているのは、Xorder を持つクライアントのニュースが既にあるかどうかを確認するためのより良い構文Yです。

現在、次のアクションを使用して、それぞれを個別のクエリで実行しています。

  1. ユーザーは、ニュース 1241 を特集して 3 番を注文することを選択します
  2. Xスクリプトは、注文番号 3のクライアントに関するニュースが存在するかどうかを確認します
  3. 存在する場合は、それを削除します
  4. 新しい注目のニュースを追加します。

とにかく、より少ないアクション/コードですべてを作成しますか?

4

1 に答える 1

1

を使用しON DUPLICATE KEY UPDATEます。

が一意のキーであると仮定する(id_user,order)と、新しい値を挿入するだけで、注文が既に存在する場合は new で更新できid_newsます。

INSERT INTO `featured` VALUES (...) ON DUPLICATE KEY UPDATE `id_news`=VALUES(`id_news`)
于 2012-06-05T16:01:23.483 に答える