【发布时间】:2021-06-02 12:49:48
【问题描述】:
编辑: 我发现用于插入数据的脚本正在删除第一个数字的零。仍然不知道为什么会发生这种情况,但我的问题现在已经解决了。
我正在尝试通过 mysql-connector 向我的数据库发送查询,但我不断收到错误消息。 我无法在没有单引号 (') 的情况下执行,因为它返回语法错误或 mysql 错误。我似乎必须使用元组,但这带来了单引号的缺点。
mycursor.execute("CREATE TABLE IF NOT EXISTS rki (
ObjectId INT(255),
IdBundesland INT(255),
Bundesland VARCHAR(255),
Landkreis VARCHAR(255),
Altersgruppe VARCHAR(255),
Geschlecht VARCHAR(255),
AnzahlFall INT(255),
AnzahlTodesfall INT(255),
Meldedatum VARCHAR(255),
IdLandkreis VARCHAR(255),
Datenstand VARCHAR(255),
NeuerFall INT(255),
NeuerTodesfall INT(255),
Refdatum VARCHAR(255),
NeuGenesen INT(255),
AnzahlGenesen INT(255),
IstErkrankungsbeginn INT(255),
Altersgruppe2 VARCHAR(255)
)")
lk = "05366"
mycursor = mydb.cursor()
query = ('SELECT Landkreis FROM rki WHERE IdLandkreis = %s')
mycursor.execute(query, (lk,))
print(mycursor.statement)
kreisname = mycursor.fetchone()[0]
正如您在图片中看到的那样,使用 '' 执行不起作用,而没有执行的查询就像一个魅力。 有没有办法在python中做到这一点?
【问题讨论】:
-
请同时显示
CREATE TABLE,因为它工作得很好。 mysql 转换它。见dbfiddle.uk/… -
还是没问题dbfiddle.uk/…
-
@nbk 还有什么可能的原因?我正在重新生成数据库...
-
@nbk 好的,我发现了错误所在。创建数据库时,前面的零会丢失,但我不知道为什么,因为我使用了 varchar
-
我在 ypthon 3.92 上对此进行了测试,您测试输入或自动填充没有问题