clevpider
2020-07-19 23:55
采纳率: 100%
浏览 142
已采纳

待解_用SQLAlchemy给已存在的MySQL表内的Keys添加Values执行SQL语句时的异常

1.问题: 如标题, 用的SQLAlchemy的sessionmaker创建的session的execute方法,

主要想问: 此问题图片内的抛异常的原因是什么?? 感觉像是密码错误... 但如果是密码错误那为什么在只保留连接代码的情况下却可以正确连接??

2.环境: Windows 10 64bit 语言:Python

3.**异常截图**: 图片说明

4.代码:

from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine


engine = create_engine('mysql+pymysql://root:123456@127.0.0.1:3306/Test?charset=utf8mb4', echo=True, pool_size=5, max_overflow=4, pool_recycle=7200, pool_timeout=30)
dbsession = sessionmaker(bind=engine)
session = dbsession()
session.execute('USE Test;')
title, actor, time = '银河系', '宇宙', '2006-6-21'
sql_statement = 'INSERT INTO Test.TaiKong(title,actor,time) VALUES ("%s","%s","%s");'
params = (title, actor, time)
session.execute(sql_statement, params=params)
session.commit()
session.close()

5.**期望结果: 用此session执行SQL语句将Values的值赋给Test数据库的TaiKong这个表的Keys**

6.实际结果: 经刷新数据库后查询Keys均未被赋值

**7.已尝试无效的: **

(1). 在代码中 'INSERT INTO Test.TaiKong(title,actor,time) VALUES ("%s","%s","%s");' 的后面用 % (title, actor, time) 删除所有params

(2).删除连接时的用户名和密码直接用 mysql+pymysql://127.0.0.1:3306/Test?charset=utf8mb4' 进行连接 及 将127.0.0.1 更换成 localhost

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dabocaiqq 2020-07-21 15:58
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题