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

อัปเดตข้อมูลด้วยเงื่อนไขหลายค่าใน WHERE clause ของ MySQL

ใช้ AND ใน WHERE เพื่อระบุเงื่อนไขหลายคอลัมน์

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( 
    -> Id int, 
    -> Name varchar(20), 
    -> Age int, 
    -> CountryName varchar(10) 
    -> ); 
Query OK, 0 rows affected (0.81 sec)
mysql> insert into DemoTable values(100,'Chris',34,'AUS'); 
Query OK, 1 row affected (0.21 sec) 
mysql> insert into DemoTable values(101,'Chris',31,'US'); 
Query OK, 1 row affected (0.21 sec) 
mysql> insert into DemoTable values(102,'David',25,'UK'); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into DemoTable values(103,'Carol',28,'AUS'); 
Query OK, 1 row affected (0.21 sec)

คิวรี่อัปเดตเฉพาะแถวที่ Age=31 และ CountryName='US'

mysql> update DemoTable 
    -> set Name='Robert' 
    -> where Age=31 and CountryName='US'; 
Query OK, 1 row affected (0.44 sec) 
Rows matched: 1  Changed: 1  Warnings: 0

ผลลัพธ์หลังอัปเดต

mysql> select * from DemoTable;
+------+--------+------+-------------+ 
| Id   | Name   | Age  | CountryName | 
+------+--------+------+-------------+ 
|  100 | Chris  |   34 | AUS         | 
|  101 | Robert |   31 | US          | 
|  102 | David  |   25 | UK          | 
|  103 | Carol  |   28 | AUS         | 
+------+--------+------+-------------+ 
4 rows in set (0.00 sec)

เงื่อนไข AND ต้องตรงทุกอย่างถึงจะอัปเดต แถวที่ 100 (Chris, 34, AUS) ไม่ถูกเปลี่ยน