วิธีอัปเดตข้อมูลในช่วง (Range) ของเรคคอร์ดใน MySQL
ใช้คำสั่ง UPDATE ร่วมกับเงื่อนไข BETWEEN เพื่อระบุช่วงของคีย์หลัก (หรือคอลัมน์อื่น) ที่ต้องการอัปเดต
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล 10 แถว:
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(20),
Age int
);
-- Insert 10 records with Id 1-10
ข้อมูลก่อนอัปเดต:
+----+--------+------+ | Id | Name | Age | +----+--------+------+ | 1 | Larry | 23 | | 2 | Sam | 24 | | 3 | Chris | 21 | | 4 | Carol | 25 | | 5 | David | 22 | | 6 | Robert | 26 | | 7 | John | 20 | | 8 | Mike | 27 | | 9 | Johnny | 28 | | 10 | James | 23 | +----+--------+------+
คิวรีอัปเดตช่วง Id 5 ถึง 10 (ตั้งชื่อเป็น Bob, อายุ 23):
mysql> update DemoTable set Name='Bob', Age=23 where Id between 5 AND 10; Query OK, 6 rows affected (0.25 sec)
ข้อมูลหลังอัปเดต:
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Larry | 23 | | 2 | Sam | 24 | | 3 | Chris | 21 | | 4 | Carol | 25 | | 5 | Bob | 23 | | 6 | Bob | 23 | | 7 | Bob | 23 | | 8 | Bob | 23 | | 9 | Bob | 23 | | 10 | Bob | 23 | +----+-------+------+
จุดสังเกต: BETWEEN รวมค่าทั้งสองข้าง (Inclusive) คือ 5 และ 10 | สามารถใช้กับคอลัมน์อื่นได้ เช่น WHERE Age BETWEEN 20 AND 25 | ควรมี Index บนคอลัมน์ที่ใช้ใน BETWEEN เพื่อประสิทธิภาพ