ใช้ SUBSTRING_INDEX() หาตำแหน่ง / ตัวสุดท้าย แล้ว CONCAT() และ LEFT() สร้างเส้นทางใหม่
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> FolderName VARCHAR(100),
-> FolderLocation VARCHAR(200)
-> );
เพิ่มข้อมูลตัวอย่าง
mysql> INSERT INTO DemoTable VALUES('CProgram', 'C:/AllPrograms/.....');
mysql> INSERT INTO DemoTable VALUES('Images', 'E:/MyImage/home/garbage');
แสดงข้อมูลก่อนอัปเดต
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+------------+-------------------------+ | FolderName | FolderLocation | +------------+-------------------------+ | CProgram | C:/AllPrograms/..... | | Images | E:/MyImage/home/garbage | +------------+-------------------------+
คำสั่งอัปเดตแทนที่ส่วนหลัง / ตัวสุดท้าย
mysql> UPDATE DemoTable
-> SET FolderLocation = CONCAT(
-> LEFT(FolderLocation, CHAR_LENGTH(FolderLocation) - CHAR_LENGTH(SUBSTRING_INDEX(FolderLocation, '/', -1))),
-> FolderName
-> );
ตรวจสอบผลลัพธ์
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+------------+-------------------------+ | FolderName | FolderLocation | +------------+-------------------------+ | CProgram | C:/AllPrograms/CProgram | | Images | E:/MyImage/home/Images | +------------+-------------------------+
คำอธิบาย: SUBSTRING_INDEX(..., '/', -1) = ส่วนหลัง / ตัวสุดท้าย | CHAR_LENGTH คำนวณความยาว | LEFT ตัดส่วนหน้าเก็บไว้ | CONCAT ต่อ FolderName ใหม่