Pylons Controller里面执行修改数据库表,总是不成功。

然后通过各种手段:

1、js打印返回值

2、不修改表单提交和修改表单提交,结果比较;

3、通过在Pylons Controller里面设置不同位置return;

4、打印传递的各种参数;

5、等等方法。。。

最终确认是Session.commit()的问题。

来看看系统log:

15:23:52,650 INFO  [sqlalchemy.engine.base.Engine] [worker 8]SELECT datatables.id AS datatables_id, datatables.type AS datatables_type, datatables.key_list AS datatables_key_list, datatables.name AS datatables_name, datatables.display AS datatables_display, datatables.home_visible AS datatables_home_visible, datatables.merge AS datatables_merge, datatables.bigtype AS datatables_bigtype 
FROM data_schemas 
WHERE datatables.id = %s 
 LIMIT %s
15:23:52,650 INFO  [sqlalchemy.engine.base.Engine] [worker 8] (14, 1)
15:23:52,653 INFO  [sqlalchemy.engine.base.Engine] [worker 8] UPDATE datatables SET merge=%s WHERE datatables.id = %s
15:23:52,653 INFO  [sqlalchemy.engine.base.Engine] [worker 8] (0, 14L)
15:23:52,654 INFO  [sqlalchemy.engine.base.Engine] [worker 8] ROLLBACK

可以看出已经Update了,然后,艹,又ROLLBACK了!!!

再通过Firebug看看网页给出的提示:

WebError Traceback:

⇝OperationalError: (OperationalError) (1142, "UPDATE command denied to user 'user@uuu'@'10.10.10.10' for table 'datatables'") 'UPDATE datatables SET merge=%s WHERE datatables.id = %s' (0, 14L)

什么叫做denied to user!!!

明明就我所在的用户就没有写权限啊,没有写权限啊,写权限啊,权限啊。。。

DBA给一个没有写权限的用户搞个毛线啊。。。还要找DBA。。。

这个世界是如此的不靠谱啊。。。

Pylons Controller里面Session.commit()总是出现rollback的更多相关文章

  1. SQL事务用法begin tran,commit tran和rollback tran的用法

    Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务. begin tran表示开始事务, commit tran表示提交 ...

  2. 【转】【SQLServer】SQL事务用法begin tran,commit tran和rollback tran的用法

    Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务.begin tran表示开始事务, commit tran表示提交事 ...

  3. SQL 事务 begin tran、commit tran、rollback tran 的用法

    首先理解一下这三个事务的大概意思: begin Transaction 可以理解成新建一个还原点. commit Transaction 提交这个自begin tran开始的修改 rollback T ...

  4. AMQ学习笔记 - 06. 可靠消息传送

    概述 本文介绍JMS中可能发生消息故障的3个隐患阶段,以及确保消息安全的3种保障机制. 故障分析 在介绍可靠传送的确保机制之前,先分析消息在传送的过程中可能在哪个阶段出现问题. 1.两个跃点 跃点的含 ...

  5. activemq p2p方式

    package ch02.chat; import java.io.Serializable; import javax.jms.Connection; import javax.jms.Connec ...

  6. 简单的activemq的封装和使用

    天空中飘着小雨,实在是适合写代码的时节. 1 package ch02.chat; import java.io.Serializable; import javax.jms.Connection; ...

  7. sqlalchemy ORM模块使用介绍

    前几天用到了flask框架,所以顺带介绍了flask-sqlalchemy扩展模块,去瞄一眼,由于有好多非web的python程序也用到了数据库,所以今天分享一下sqlalchemy的模块的使用方法. ...

  8. sqlalchemy学习-- 重要参数

    Base = declarative_base 基类: 1.存储表 2.建立class-Table 的映射关系 engine = create_engine('mysql://root:root@lo ...

  9. SQLAlchemy--基本增删改查

    目录 简介 安装 组成部分 简单使用 执行原生sql(不常用) orm使用(重点) 常用数据类型 Column常用参数 常用操作(CURD) 创建映射类的实例 创建会话Session 增加add()/ ...

随机推荐

  1. WPF之换肤

    WPF之换肤 设计原理 WPF换肤的设计原理,利用资源字典为每种皮肤资源添加不同的样式,在后台切换皮肤资源文件. 截图 上图中,第一张图采用规则样式,第二张图采用不规则样式,截图的时候略有瑕疵. 资源 ...

  2. 服务号使用微信网页授权(H5应用等)

    获取授权准备 AppId 服务号已经认证且获取到响应接口权限 设置网页授权域名 公众号设置 - 功能设置 - 网页授权域名.注意事项: 回调页面域名或路径需使用字母.数字及"-"的 ...

  3. QWT编译、配置、使用(Qt Creator)

    环境: Win7 32 bit / Qt Creator 3.3.1 / Qt 5.4.1 (msvc2013_opengl, 32 bit) / QWT 6.1.2 QWT, Qt Widgets ...

  4. ubuntu上安装MySQL详解

     1. 安装 在终端输入 sudo apt-get install mysql-server mysql-client 回车 2.安装完成后检测MySQL的状态 systemctl status my ...

  5. python实现链式调用

    在python中实现链式调用只需在函数返回对象自己就行了. class Person: def name(self, name): self.name = name return self def a ...

  6. Struts2使用

    Struts2是一个基于MVC设计模式的Web应用框架.在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 ...

  7. [Linux: vim]vim自动生成html代码

    如果直接将vim编辑的文字复制粘贴到一些blog的编辑器中,这些代码将会是死板的白纸黑字.如果能加入关键字高亮功能就好了,这样代码阅读起来会很方便.一些blog的编辑器提供了这项功能,一些没有,一些支 ...

  8. [Ext JS 4] MVC 应用程序框架

    前言 大型客户端应用程序总是很难编写,很难组织和很难维护.随着功能的增加和更多的开发人员加入项目,对项目的控制也越来越困难了.Ext JS 4 提供了一个新的应用程序框架帮助组织代码. 模型 - 一组 ...

  9. pyqt5改变窗体颜色

    from PyQt5.QtWidgets import QApplication,QWidget from PyQt5.QtGui import QColor import sys from t im ...

  10. lr_start_timer,lr_get_transaction_duration,lr_get_transaction_wasted_time函数使用总结

    lr_start_timer: 函数的功能: 为了计算时间更加精确,可以用这个函数去掉LR自身的检查点所浪费的时间.如text check and image time Action() { doub ...