Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyelesaikan ralat semasa menjalankan pernyataan mysql dalam python

Bagaimana untuk menyelesaikan ralat semasa menjalankan pernyataan mysql dalam python

王林
王林ke hadapan
2023-05-29 13:34:062081semak imbas

1 python melaporkan ralat semasa menjalankan pernyataan mysql

Seperti yang kita sedia maklum, python mempunyai mekanisme terjemahan %s dan %d akan diterjemahkan ke dalam rentetan atau nombor, dan kabur pertanyaan sql juga perlu digunakan Oleh %, apabila semua pertanyaan kabur dilakukan, ia akan menjadi sangat memalukan jika keadaan pertanyaan menjadi pembolehubah.

Penyelesaian sebenarnya sangat mudah, cuma keluarkan rentetan yang perlu ditanya kabur dari sql dan sambungkannya bersama

Cara yang salah

<code>shopId = "zbw_010002"</code><code><br></code><code>'''select * from base_saleflows where shopId='{0}' and card_id is not NULL and standard_cls4 like "%湿巾%" '''.format(shopId)</code>

Mendapati bahawa ada sesuatu yang tidak kena, mysql tidak boleh menjalankan pernyataan sedemikian.

Bagaimana untuk menyelesaikan ralat semasa menjalankan pernyataan mysql dalam python

rreee

Hasilnya ialah

<code>args='%湿巾%'</code><code>shopId = "zbw_010002"</code><code>mysql_sentence='''select a.shopId, a.sale_money,a.card_id ,a.standard_cls4 from base_saleflows a join  base_vips b on a.card_id = b.card_id where a.shopId='{0}' and a.card_id is not NULL and a.standard_cls4 like '{1}' '''.format(shopId,args)</code><code>print(mysql_sentence)</code><code><br></code>

2 Pengumpulan rentetan dan penyambungan

Kumpulkan lajur cls3 mengikut aliran_no siri dan rentetan sambungan Simbol penyambungan ialah '-'

select * from base_saleflows a join  base_vips b on a.card_id = b.card_id where a.shopId='zbw_010002' and a.card_id is not NULL and a.standard_cls4 like '%湿巾%'

Bagaimana untuk menyelesaikan ralat semasa menjalankan pernyataan mysql dalam python

Permohonan: Mengikut (tahun, suku, nombor cawangan, jenis kain lap basah) Kumpulan setiap suku Bilangan pelanggan baharu

Empat Diperoleh daripada cap masa tahun, bulan dan suku

#  分组拼接result = vipsaleflow_common.pivot_table(values='standard_cls3',index='flow_no',aggfunc=lambda x:x.str.cat(sep='-'))

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat semasa menjalankan pernyataan mysql dalam python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam