pymysql 往数据库插入 数字字符串 不报错,不成功 求助

插入但数据是数字,当做字符串存到数据库,数据库对应字段也是字符串类型

python 语句是这样的:

sql = 'insert into uhaoma343 (riqi,uhaoma) values({},{})'.format(riqi'"'+ uhaoma +'"')

# '"'+ uhaoma +'"' 这个不加引号直接报错,编码这个变量插入时也报错,只有这样不错报

数据是这样的:

insert into uhaoma343 (riqi,uhaoma) values(20180502,"765446 4643556 924612 065320 669676 5345469 90532 032347 331238 081245329 422349 294233 062356 042111 1912540 954391 5234531 991230 321242 64631 102345 316767 003456 50679 353244 5234178 381234 674327 095645 177756 2453483 0345260 7923459 272341 323598 951241 076828 1721346 3213543 2664550 1134876 831289")

看似一切正常,重点是插入后,id 返回了,数据库自增键也增加了就是没数据(知道自增健增加是因为手动插入后看到的显示的自增数字)

数据库啥都没有空空如也!这条语句在 mysql 中手动执行 一切ok!

知道不知道的方法都用了 实在无解了

谢谢帮助 🙏🙏

阅读 5.9k
2 个回答

sql里字符串该用单引号吧

你试试这个


riqi=1
uhaoma="fdkflfd sdfldskjfl sdfldsjfl "

sql = 'insert into uhaoma343 (riqi,uhaoma) values({},{})'.format(riqi, '\''+ uhaoma+'\'' )

print(sql)

生成的sql形如:

insert into uhaoma343 (riqi,uhaoma) values(1,'fdkflfd sdfldskjfl sdfldsjfl ')

需要python调用一下commit才行,参考网上的教程。或者参考官文档,使用with语句来连接数据库。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题