sql >> Database teknologi >  >> RDS >> Mysql

Forøg og sænk rækkeværdien med 1 i MySQL

To forespørgsler for at øge/sænke feltværdien er ikke nødvendige:

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

er en fuldstændig gyldig forespørgsel, som du kan se næste gang:

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)

Efter at have testet det, er du sikker på, at du kommer ind på din if (loggedin()) klausul?

Jeg er nødt til at være enig med KM , ville være rart at se output af echo $query1; eller echo $query2;



  1. Sådan opretter du sekvens i MySQL

  2. MYSQL - Indsæt hvis tabellen er tom

  3. ingen ocijdbc9 i java.library.path

  4. Sådan gemmer du et Java Instant i en MySQL-database