web-dev-qa-db-ja.com

MySQL Update Column +1?

列を+1で更新する最も簡単な方法は何だろうと思っていましたか?ユーザーが新しい投稿を送信したときに基づいて、カテゴリの投稿数を更新します。

ありがとう。

21
Cory

最も簡単な方法は、notカウントを保存し、COUNT集計関数を使用してデータベースにある値を反映することです。

   SELECT c.category_name,
          COUNT(p.post_id) AS num_posts
     FROM CATEGORY c
LEFT JOIN POSTS p ON p.category_id = c.category_id

ビューの作成 で上記のクエリを格納できるため、テーブルと同じようにビューをクエリできます...

ただし、番号の保存を設定している場合は、次を使用します。

UPDATE CATEGORY
   SET count = count + 1
 WHERE category_id = ?

..「?」を置き換える適切な値で。

38
OMG Ponies

できるよ:

UPDATE categories SET posts = posts + 1 WHERE category_id = 42;</ code>

27
Michael Banzon

どうですか:

update table
set columnname = columnname + 1
where id = <some id>
8
update post set count = count + 1 where id = 101
5
KoolKabin
update TABLENAME
set COLUMNNAME = COLUMNNAME + 1
where id = 'YOURID'
1
praveenraj4ever