Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ GREATEST() อัปเดตค่าคอลัมน์ใน MySQL

GREATEST() คืนค่ามากที่สุดจากรายการ ใช้ใน UPDATE เพื่อตั้งค่าให้มากกว่าค่าปัจจุบัน

ตัวอย่าง

mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number int );
Query OK, 0 rows affected (0.64 sec)
mysql> insert into DemoTable(Number) values(10);  Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Number) values(50);  Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(Number) values(100); Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(Number) values(190); Query OK, 1 row affected (0.12 sec)

ข้อมูล

mysql> select * from DemoTable;
+----+--------+
| Id | Number |
+----+--------+
| 1  | 10     |
| 2  | 50     |
| 3  | 100    |
| 4  | 190    |
+----+--------+

อัปเดต Id=3 ให้ค่าอย่างน้อย 200

mysql> update DemoTable set Number=GREATEST(200,Number) WHERE Id=3;
Query OK, 1 row affected (0.16 sec)

ผลลัพธ์

mysql> select * from DemoTable;
+----+--------+
| Id | Number |
+----+--------+
| 1  | 10     |
| 2  | 50     |
| 3  | 200    |
| 4  | 190    |
+----+--------+

Id=3 เดิมคือ 100 ตอนนี้กลายเป็น 200 (เพราะ 200 > 100) Id=4 ยังคง 190 (เพราะ 190 < 200 แต่ WHERE จำกัดเฉพาะ Id=3)