สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25602
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

เช่น

อัปเดท id 1 ให้ name = bo1 , lastname = lastbo1
อัปเดท id 2 ให้ name = bo2 , lastname = lastbo2
อัปเดท id 3 ให้ name = bo3 , lastname = lastbo3
อัปเดท id 4 ให้ name = bo4 , lastname = lastbo4
อัปเดท id 5 ให้ name = bo5 , lastname = lastbo5
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

โค้ด: เลือกทั้งหมด

    UPDATE mytable  
    SET mycolumn =  
        CASE myid  
        WHEN 1 THEN 'one new value'  
        WHEN 2 THEN 'a different new value' 
        WHEN 3 THEN ... 
        END 
    WHERE myid in (1,2,3,...) 
ลองเช็คความเร็วในการทำงานด้วย นะครับ

หรือ อีกแบบคือ อัพเดดข้อมูลใน Fields จากข้อมูลในตารางอื่น

หรือรอติตามบทเรียนในหมวด นี้
https://www.mindphp.com/%E0%B8%9A%E0%B8 ... dures.html
:lol: :lol: :lol:
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25602
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

Re: สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

mindphp เขียน: 22/03/2021 11:48 am

โค้ด: เลือกทั้งหมด

    UPDATE mytable  
    SET mycolumn =  
        CASE myid  
        WHEN 1 THEN 'one new value'  
        WHEN 2 THEN 'a different new value' 
        WHEN 3 THEN ... 
        END 
    WHERE myid in (1,2,3,...) 
ลองเช็คความเร็วในการทำงานด้วย นะครับ

หรือ อีกแบบคือ อัพเดดข้อมูลใน Fields จากข้อมูลในตารางอื่น

หรือรอติตามบทเรียนในหมวด นี้
https://www.mindphp.com/%E0%B8%9A%E0%B8 ... dures.html
:lol: :lol: :lol:
แล้วถ้ามีข้อมูลที่ต้องการอัปเดทเป็น 1000 row และข้อมูลแตกต่างทุกอัน ในการตั้ง เงื่อนไข CASE จะต้องทำแบบไหนคะ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

Gen text ที่ เป็น SQL แล้ว เอาข้อความนัดรัน ที่เดียว
ก่อนใช้จริง ลอง เขียนเพื่อทดสอบดูด่อนนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25602
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

Re: สอบถามวิธีการอัปเดทข้อมูลแบบหลาย row และข้อมูลต่างกัน

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

mindphp เขียน: 22/03/2021 12:45 pm Gen text ที่ เป็น SQL แล้ว เอาข้อความนัดรัน ที่เดียว
ก่อนใช้จริง ลอง เขียนเพื่อทดสอบดูด่อนนะครับ
ทำงานได้แล้วค่ะขอบคุณค่ะ

แต่สามารถเขียนได้อีกวิธี

เป็นวิธีสำหรับ insert เข้าตาราง แต่ถ้าหากว่ามี id(pk) อยู่แล้วจะทำการอัปเดทแทน

โค้ด: เลือกทั้งหมด

INSERT into my_table (id, name, price_unit)
VALUES
    (8, 'orange', 10),
    (9, 'strawberry', 20)
ON CONFLICT (id) DO UPDATE 
SET origin = excluded.origin, 
    price_unit = excluded.price_unit;
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 74