Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat Rujukan SQLite Apabila Menggunakan Panda dan SQLAlchemy untuk Menulis ke Pangkalan Data MySQL?

Mengapa Saya Mendapat Ralat Rujukan SQLite Apabila Menggunakan Panda dan SQLAlchemy untuk Menulis ke Pangkalan Data MySQL?

DDD
DDDasal
2024-12-08 06:23:16520semak imbas

Why Am I Getting an SQLite Reference Error When Using Pandas and SQLAlchemy to Write to a MySQL Database?

Ralat Semasa Menulis ke Pangkalan Data MySQL dengan Pandas dan SQLAlchemy

Apabila cuba menulis kerangka data Pandas ke jadual MySQL menggunakan kaedah to_sql SQLAlchemy, ralat biasa adalah menghadapi rujukan kepada SQLite walaupun menggunakan MySQL. Isu ini boleh berlaku disebabkan oleh penggunaan parameter flavor='mysql' semasa mencipta enjin SQLAlchemy.

Penyingkiran Parameter 'flavor'

The flavor=' parameter mysql' ditamatkan untuk menggunakan parameter dialek. Penggunaan yang betul ialah:

engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', dialect='mysql', echo=False)

Penggunaan SQLAlchemy Connection yang Betul

Untuk mewujudkan sambungan dengan MySQL menggunakan mysqlconnector, anda harus menggunakan:

cnx = engine.connect()

Daripada yang tidak digunakan lagi raw_connection().

Menyelesaikan Ralat

Untuk menyelesaikan ralat yang merujuk SQLite, gunakan langkah berikut:

  1. Kemas kini penciptaan enjin untuk menggunakan yang betul dialek:

    engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', dialect='mysql', echo=False)
  2. Mewujudkan sambungan menggunakan:

    cnx = engine.connect()
  3. Gunakan objek cnx untuk melaksanakan operasi SQL. Contohnya, untuk menulis rangka data:

    data.to_sql(name='sample_table2', con=cnx, if_exists='append', index=False)

Dengan mengikuti langkah ini, anda boleh berjaya menulis ke pangkalan data MySQL menggunakan Pandas dan SQLAlchemy.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Rujukan SQLite Apabila Menggunakan Panda dan SQLAlchemy untuk Menulis ke Pangkalan Data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn