Ինչպե՞ս թարմացնել բազմաթիվ տողեր՝ օգտագործելով մեկ WHERE դրույթ MySQL-ում:
Դրա համար կարող եք օգտագործել MySQL IN(): Եկեք նախ ստեղծենք.
mysql> create table DemoTable1420
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName varchar(20),
-> LastName varchar(20),
-> Age int
-> );
Query OK, 0 rows affected (1.12 sec)
Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert.
mysql> insert into DemoTable1420(FirstName,LastName,Age) values('Chris','Brown',23);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1420(FirstName,LastName,Age) values('David','Miller',22);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1420(FirstName,LastName,Age) values('John','Smith',24);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1420(FirstName,LastName,Age) values('John','Doe',21);
Query OK, 1 row affected (0.43 sec)
mysql> insert into DemoTable1420(FirstName,LastName,Age) values('Adam','Smith',25);
Query OK, 1 row affected (0.18 sec)
Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով ընտրեք՝
mysql> select * from DemoTable1420;
Սա կստեղծի հետևյալ արդյունքը.
+----+-----------+----------+------+
| Id | FirstName | LastName | Age |
+----+-----------+----------+------+
| 1 | Chris | Brown | 23 |
| 2 | David | Miller | 22 |
| 3 | John | Smith | 24 |
| 4 | John | Doe | 21 |
| 5 | Adam | Smith | 25 |
+----+-----------+----------+------+
5 rows in set (0.00 sec)
Հետևյալը մի քանի տողեր թարմացնելու հարցումն է՝ օգտագործելով մեկ որտեղ դրույթը.
mysql> update DemoTable1420
-> set FirstName='Carol',LastName='Taylor'
-> where Id IN(1,3,4,5);
Query OK, 4 rows affected (0.42 sec)
Rows matched: 4 Changed: 4 Warnings: 0
Եկեք ևս մեկ անգամ ստուգենք աղյուսակի գրառումները.
mysql> select * from DemoTable1420;
Սա կստեղծի հետևյալ արդյունքը.
+----+-----------+----------+------+
| Id | FirstName | LastName | Age |
+----+-----------+----------+------+
| 1 | Carol | Taylor | 23 |
| 2 | David | Miller | 22 |
| 3 | Carol | Taylor | 24 |
| 4 | Carol | Taylor | 21 |
| 5 | Carol | Taylor | 25 |
+----+-----------+----------+------+
5 rows in set (0.00 sec)