สอบถามเรื่องการ insert sql แบบ multiple rows ใน python

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

Moderator: mindphp

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

สอบถามเรื่องการ insert sql แบบ multiple rows ใน python

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

ต้องการ insert sql แบบ multiple rows ใน python ค่ะ แต่ติดตรงภาษา มีขึ้นคำว่า u จึงทำให้ insert ไม่ได้ มีวิธีแก้ไขมั้ยคะ

u'สินค้าทีวี'
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามเรื่องการ insert sql แบบ multiple rows ใน python

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

ปัญหา น่าจะมาจาก string ที่เราต่อ เข้ากับ คำสั่ง SQL ที่จะ insert
ดูเพิ่มเติมเกี่ยวกับ prepare ก่อน หรือ กำหนด parameter ของข้อความที่รับผ่านตัวแปลเข้ามาให้ถูกก่อน

และเมื่อได้แล้ว ลองดูเพิ่มเติมเรื่อง execute_values

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

execute_values(c, sql, values_list)
โดยเตรียม values_list ต่างๆ ที่จะ insert

ตัวอย่าง

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

import psycopg2, psycopg2.extras

rows = [
    {'id': 1, 'test1': 'something', 'test2': 123},
    {'id': 2, 'test1': 'somethingelse', 'test2': 321}
]

conn = psycopg2.connect(database='cpn')
cursor = conn.cursor()

insert_query = 'insert into t (id, test1, test2) values %s'
psycopg2.extras.execute_values (
    cursor, insert_query, rows,
    template='(%(id)s, %(test1)s, %(test2)s)',
    page_size=100
)
อ่านเพิ่มเติม
https://naysan.ca/2020/05/16/pandas-to- ... te_values/
https://billyfung.com/posts/2017-06-30- ... le-insert/
ติดตาม 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
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามเรื่องการ insert sql แบบ multiple rows ใน python

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

เพิ่มเติม กำหนด pagesize สำหรับการรันแต่ละครั้งได้

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

 psycopg2.extras.execute_values(cur, sql, argslist, template=None, page_size=100, fetch=False)
https://www.psycopg.org/docs/extras.htm ... ute_values
ติดตาม 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
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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