ใช้ UPDATE ... SET col1 = ..., col2 = ... อัปเดตหลายคอลัมน์พร้อมกันในคำสั่งเดียว
ตัวอย่างการใช้งาน
1. สร้างตารางและข้อมูล
mysql> CREATE TABLE DemoTable (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(100),
-> StudentCountryName VARCHAR(100)
-> );
mysql> INSERT INTO DemoTable(StudentName, StudentCountryName) VALUES ('John', 'US');
2. อัปเดต Name และ Country พร้อมกัน
mysql> UPDATE DemoTable
-> SET StudentName = REPLACE(StudentName, 'John', 'Chris'),
-> StudentCountryName = REPLACE(StudentCountryName, 'US', 'UK');
ผลลัพธ์
+-----------+-------------+--------------------+ | StudentId | StudentName | StudentCountryName | +-----------+-------------+--------------------+ | 1 | Chris | UK | +-----------+-------------+--------------------+
รูปแบบ UPDATE หลายคอลัมน์
UPDATE table_name
SET
col1 = expr1,
col2 = expr2,
col3 = expr3,
...
WHERE condition;
การใช้ REPLACE() ใน UPDATE
REPLACE(str, from_str, to_str)แทนที่ทุกครั้งที่พบfrom_str- Case-Sensitive
- หากไม่พบ
from_strคืนค่าเดิม (ไม่เปลี่ยน)
ข้อควรระวัง
- ไม่มี WHERE → อัปเดตทุกแถว
- การอัปเดตหลายคอลัมน์เป็น Atomic (สำเร็จทั้งหมดหรือล้มเหลวทั้งหมด)
- Trigger AFTER UPDATE จะไฟร์ครั้งเดียวต่อแถว (ไม่ใช่ต่อคอลัมน์)