Zastanawiam się, jaki byłby najłatwiejszy sposób aktualizacji kolumny o +1? Będę aktualizował liczbę postów w kategorii na podstawie tego, kiedy użytkownicy przesyłają nowy wpis.Kolumna aktualizacji MySQL +1?
Dzięki.
Zastanawiam się, jaki byłby najłatwiejszy sposób aktualizacji kolumny o +1? Będę aktualizował liczbę postów w kategorii na podstawie tego, kiedy użytkownicy przesyłają nowy wpis.Kolumna aktualizacji MySQL +1?
Dzięki.
Najprostszym sposobem jest nie sklepie Count, powołując się na funkcji COUNT zbiorczej odzwierciedlać wartość, jak to jest w bazie danych:
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
Możesz create a view wstawić zapytanie wymienione powyżej, aby można było zapytać widok tak samo, jak chcesz tabeli ...
Ale jeśli jesteś ustawiony na przechowywanie numer, użyj:
UPDATE CATEGORY
SET count = count + 1
WHERE category_id = ?
..replacing "?" z odpowiednią wartością.
+1 za dobrą odpowiedź na problem, jeśli nie pytanie – Amadan
Dzięki. Początkowo moją myślą o określeniu liczby postów w kategorii byłoby sprawdzenie tabel postów dla cat_id pasujących do tej kategorii, a następnie dodanie ich. Sądzę, że to może być pochłaniające zasoby lub mniej wydajne niż pisanie bezpośrednio do tego stołu. – Cory
Jest to bardzo szybkie, gdy masz indeks na 'p.post_id'. – Amadan
można zrobić:
UPDATE
categories
SET posts
= posts
+ 1 WHERE category_id
= 42;
+1 za dobrą odpowiedź na dosłowne pytanie – Amadan
Jak o:
update table
set columnname = columnname + 1
where id = <some id>
update post set count = count + 1 where id = 101
Przykro mi, nie rozumiem. Czy chcesz zaktualizować wszystkie wiersze ustawiając wartość swojej kolumny na jej starą wartość + 1? – Benoit
@Benoit: OP chce przechowywać i aktualizować liczbę postów związanych z kategorią. –