variable 提示无效sql_SQLAlchemy 访问Mysql数据库弹出Warning,VARIABLE_VALUE,如何解决?...

1.写了一段使用SQLAlchemy 编程的代码,程序本身没问题,就是访问数据库时产生一个错误提示,但是即使有错误代码页能正常运行,操作结果也正确。这个错误是关于代码编码方式的错误,但是调了很长时间这个错误就是不能消除,求解救

2.这里是代码:(1)orm.py

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy import Column,Integer,String

Base = declarative_base()

class Account(Base):

__tablename__ = u'account'

id = Column(Integer,primary_key = True)

salary = Column(Integer)

username = Column(String(20),nullable = False)

password = Column(String(200),nullable = False)

title = Column(String(50))

def is_active(self):

return True

def get_id(self):

return self.id

def is_authenticated(self):

return True

def is_anonymous(self):

return False

from sqlalchemy import create_engine

from sqlalchemy.orm import scoped_session,sessionmaker

db_connect_string = 'mysql://root:admin@localhost:3306/test_database?charset=utf8'

ssl_args = {'ssl':{'cert':'/home//ssl/client-cert.pem',

'key':"/home/shouse/ssl/client-cert.pem",

'ca':'/home/shouse/ssl/ca-cert.pem'}}

engine = create_engine(db_connect_string,connect_args = ssl_args)

SessionType = scoped_session(sessionmaker(bind = engine,expire_on_commit = False))

def GetSession():

return SessionType()

from contextlib import contextmanager

@contextmanager

def session_scope():

session = GetSession()

try:

yield session

session.commit()

except:

session.rollback()

raise

finally:

session.close()

(2)databaseoperation.py代码:

# -*- coding:utf-8 -*-

import orm

from sqlalchemy import or_

def InsertAccount(user,password,title,salary):

with orm.session_scope() as session:

account = orm.Account(username = user,password =password,title = title,salary = salary)

session.add(account)

def GetAccount(id=None,username = None):

with orm.session_scope() as session:

return session.query(orm.Account).filter(or_(orm.Account.id==id,orm.Account.username==username)).first()

def Delete(username):

with orm.session_scope() as session:

account = GetAccount(username = username)

if account:

session.delete(account)

def Update(id,username,password,title,salary):

with orm.session_scope() as session:

account = session.query(orm.Account).filter(orm.Account.id==id).first()

if not account:return

account.username=username

account.password=password

account.title = title

account.salary = salary

InsertAccount('Lliy','123','System Manager',3000)

InsertAccount('Rebeca Li','12221','Accountant',3000)

GetAccount(2)

Delete('David Li')

Update(1,'admin','1111','System Admin',2000)

3.错误提示:

4.数据库截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值