Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zwiększ i zmniejsz wartość wiersza o 1 w MySQL

Dwa zapytania zwiększające/zmniejszające wartość pola nie są konieczne:

mysql_query("UPDATE table SET field = field + 1 WHERE id = $number");

to całkowicie poprawne zapytanie, jak widać dalej:

mysql> describe points;
+--------+---------+------+-----+---------+-------+
| Field  | Type    | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| uid    | int(11) | NO   | PRI | NULL    |       |
| points | int(11) | YES  |     | 0       |       |
+--------+---------+------+-----+---------+-------+
2 rows in set (0.05 sec)

mysql> insert into points VALUES (1,0),(2,0);
Query OK, 2 rows affected (0.14 sec)

mysql> select * from points;
+-----+--------+
| uid | points |
+-----+--------+
|   1 |      0 |
|   2 |      0 |
+-----+--------+
2 rows in set (0.05 sec)

mysql> update points set points = points+1 where uid = 1;
Query OK, 1 row affected (0.27 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from points;
+-----+--------+
| uid | points |
+-----+--------+
|   1 |      1 |
|   2 |      0 |
+-----+--------+
2 rows in set (0.00 sec)

Po przetestowaniu, czy na pewno dostaniesz się do swojego if (loggedin())? klauzula?

Muszę się zgodzić z KM , byłoby miło zobaczyć wyjście echo $query1; lub echo $query2;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łańcuch zamówienia SQL jako liczba

  2. Jak przenieść, a następnie usunąć pole w MySQL

  3. pobierz wartości tabeli sql do ponownego wykorzystania w trybie offline

  4. 3 sposoby na znalezienie wierszy zawierających małe litery w MySQL

  5. Hierarchiczna baza danych MySQL Closure Table - Jak wyciągnąć informacje we właściwej kolejności