gpt4 book ai didi

python - SQL 请求无法使用 sqlparse 进行正确解析

转载 作者:太空宇宙 更新时间:2023-11-03 14:29:33 30 4
gpt4 key购买 nike

我有一个很大的请求,我尝试使用 sqlparse 通过 python 程序解析它。

这是代码:

import sqlparse

req1 = """select qty, end_date from ITEMS as (q,e)
where iId = iid
if ((q-qty) == 0){
update ITEMS set end_date = now,qty = q-qty
where iId = iid
}else {
update ITEMS set qty = q-qty
where iId = iid
} insert into BUY_NOW values (uid,iid,qty)"""

res = sqlparse.parse(req1)
cpt = 0
for i in res[0].tokens:
print (i)
cpt+=1
print(cpt)

这是输出:

select
1

2
qty, end_date
3

4
from
5

6
ITEMS as (q,e)
7


8
where iId = iid
if ((q-qty) == 0){
update ITEMS set end_date = now,qty = q-qty
where iId = iid
}else {
update ITEMS set qty = q-qty
where iId = iid
} insert
9
into
10

11
BUY_NOW
12

13
values
14

15
(uid,iid,qty)
16

正如您所看到的,请求的中间部分看起来根本没有被解析。有没有可能中间部分的sql不正确?我没有数据库,所以我无法尝试,我只有请求。或者您认为问题来自 sqlparse ?

感谢您的帮助

最佳答案

那个 sql 对我来说看起来很可疑,但我没那么聪明。

不过,您不必拥有数据库即可进行尝试。如果它打算与 MySQL 一起使用,那么您可以快速创建几个具有正确列名的表,然后看看如果您尝试执行该查询,MySQL 是否会发出警告。我认为您甚至不需要试用数据。

关于python - SQL 请求无法使用 sqlparse 进行正确解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47395334/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com