Home > MySQL > Cập nhật nhiều dòng (rows, records) bằng một câu truy vấn

Cập nhật nhiều dòng (rows, records) bằng một câu truy vấn

Ví dụ:
Giả sử chúng ta có một bài toán cập nhật nhiều mẫu tin như sau:

Chúng ta có bảng dữ liệu table congty()
id | ten_cong_ty | nganh_nghe
1      cong ty 1              aaa
2      cong ty 2              bbb
3      cong ty 3              ccc

Bây giờ chúng ta cần cập nhật lại trường ngành nghề
aaa = AAA
bbb = BBB
ccc = CCC

thường thướng chúng ta thực hiện 3 câu truy vấn riêng lẻ như sau:


$sql_1 = "UPDATE congty SET nganh_nghe='AAA' WHERE id=1";
mysql_query($sql_1);

$sql_2 = "UPDATE congty SET nganh_nghe='AAA' WHERE id=1";
mysql_query($sql_2);

$sql_3 = "UPDATE congty SET nganh_nghe='AAA' WHERE id=1";
mysql_query($sql_3);

như vậy chúng ta sẽ ra lệnh mở quy vấn tới 3 lần…nếu dữ liệu lớn sẽ giảm đáng kể tới tốc độ thực thi.

để giảm thời gian thực thi & tăng tốc độ truy vấn chúng ta đưa 3 câu truy vấn trên thành 1 câu truy vấn như sau:


$sqls = "UPDATE congty
SET nganh_nghe = CASE 
    WHEN id = 1 THEN 'AAA'
    WHEN id = 2 THEN 'BBB'
    WHEN id = 3 THEN 'CCC'
ELSE ''
END
WHERE id IN (1,2,3)";
mysql_query($sqls);

Chuc các bạn thành công

PHP Developer
nhantam
http://www.panpic.vn

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: