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

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

Moderator: mindphp

bolue
PHP VIP Members
PHP VIP Members
Posts: 3037
Joined: 04/06/2020 10:05 am

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

Post by bolue »

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

u'สินค้าทีวี'
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 27201
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp »

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

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

Code: Select all

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

ตัวอย่าง

Code: Select all

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
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 27201
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp »

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

Code: Select all

 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
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “SQL - Database”

Who is online

Users browsing this forum: Bing [Bot] and 5 guests