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