0 0

mysql Can not modify more than one base table through a join view5

最近项目中用到了视图,用于查询数据。项目所使用的框架是spring+hibernate+ext。在查询某一产品的信息时老报 Can not modify more than one base table through a join view,我只是查询数据,又没有用视图去更新数据.而在查询其它产品信息时又不会出现这个问题,查询条件都是一样的。是在如下代码中报的错:
String hql = "select count(*) from TransactionsInfo "+where;
Query query = session.createQuery(hql);
int count = ((Long)query.list().get(0)).intValue();
在红色字体处报的这个错误信息。上面代码中的where是查询条件。

希望有高手能指点一二

补充:
我看在这查询这一产品的时候打印了一条update语句,我不知道这条update语句是怎么出来的。我也没有设置触发器。

问题补充:
yoscar 写道
把你的hql语句打印出来,放在数据库执行一下,看查出来的结果是什么?
还有就是把int count = ((Long)query.list().get(0)).intValue();一步一步写出来 看每一步的输出是否正确


查到原因了,开始导别人的数据的时候,有条数据的格式不对,不过为什么数据不对会导致更新,还是有点不解。
2012年3月23日 11:07

1个答案 按时间排序 按投票排序

0 0

采纳的答案

把你的hql语句打印出来,放在数据库执行一下,看查出来的结果是什么?
还有就是把int count = ((Long)query.list().get(0)).intValue();一步一步写出来 看每一步的输出是否正确

2012年3月23日 13:44

相关推荐

    SSD7 选择题。Multiple-Choice

    Which of the following SQL statements can be used to add a row to a table? (a) CREATE (b) INSERT (c) APPEND (d) ADD Correct answer is (b) Your score on this question is: 10.00 ...

    mysql alter table修改表命令整理

    MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段、索引、主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法,  MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    A decent rule of thumb is to not inline a function if it is more than 10 lines long. Beware of destructors, which are often longer than they appear because of implicit member- and base-destructor ...

    搞定难点MySQL神秘的约束机制

    ALTER TABLE temp MODIFY sex VARCHAR(2) NOT NULL; ``` - **取消非空约束**: ```sql ALTER TABLE temp MODIFY sex VARCHAR(2) NULL; ``` - **取消非空约束并增加默认值**: ```sql ALTER TABLE temp MODIFY...

    MySQL的语句总结.

    - 使用 `JOIN` 连接多个表:`SELECT * FROM table1 JOIN table2 ON table1.id = table2.id;` - 使用 `UNION` 结合多个查询的结果:`SELECT column_name FROM table1 UNION SELECT column_name FROM table2;` - 使用 ...

    jbpm3.2.2在mysql中字段的类型的错误

    ### jbpm3.2.2在mysql中字段的类型的错误:解决方案与理解 #### 引言 在使用jbpm3.2.2(一个开源的工作流引擎)与MySQL数据库进行集成时,可能会遇到关于字段类型不匹配的问题。这通常发生在初始化数据库结构或...

    alter table test rename test1; --修改表名alter table test add colum

    ### MySQL ALTER TABLE 语法与应用详解 #### 一、概述 在MySQL中,`ALTER TABLE`语句是一种非常实用的工具,它允许用户修改现有表的结构,包括但不限于添加、删除或修改列、更改表名以及调整表的存储引擎等。这种...

    ComponentOne Studio for Silverlight 2013 v1 2/3

    Plus, with built-in ClearStyle technology, you can easily change control colors without having to modify complex templates. By just setting a few brush properties in Visual Studio you can quickly ...

    mysql笔记.rar

    3. 表操作:在MySQL中,`ALTER TABLE` 语句用于修改表结构,`ADD COLUMN` 添加列,`MODIFY COLUMN` 更改列属性,`DROP COLUMN` 删除列。`INDEX` 和 `UNIQUE INDEX` 分别用于创建普通索引和唯一索引,提高查询效率。 ...

    mysql_约束的使用

    ALTER TABLE TABLENAME MODIFY COL_NAME NOT NULL 删除、禁用、启用约束、修改约束名的语法如下: ALTER TABLE table_name DROP CONSTRAINT constraint_name; DISABLE CONSTRAINT constraint_name; ENABLE ...

    ubuntu_下mysql的常用命令

    5. 修改字段属性:alter table tab_name modify col_name varchar(40) not null; 使用“ALTER TABLE”命令可以修改字段属性。 6. 修改表名:alter table tab_name rename to new_tab_name; 使用“ALTER TABLE”...

    微软内部资料-SQL性能优化2

    Although a system having less than 2 GB of physical memory can be booted using the /3G switch, in most cases this is ill-advised. If you restart with the 3 GB switch, also known as 4-Gig Tuning, the ...

    MySQL笔记.pdf

    `、`alter table xxx modify birthday date;`、`alter table xxx change birthday birth datetime not null;`以及`alter table xxx drop birth;`。 数据操作包括查询、添加、修改和删除数据。查询数据可以使用`...

    PHP&MySQL;_Create,Modify,Reuse_CHS

    在MySQL中,创建数据表涉及到定义表名、字段、数据类型、键等,使用语句如CREATE TABLE。修改表通常通过ALTER TABLE,比如添加列ADD COLUMN,删除列DROP COLUMN,或更改列属性MODIFY COLUMN。重用可以通过创建视图...

    mysql使用入门说明

    - 修改列:`ALTER TABLE table_name MODIFY column_name new_datatype;` - 添加主键:`ALTER TABLE table_name ADD PRIMARY KEY (column_name);` - 删除主键:`ALTER TABLE table_name DROP PRIMARY KEY;` 通过以上...

    MySQL的学习使用详解

    ### MySQL学习使用详解 #### 1. 安装MySQL MySQL 的安装分为多个步骤:首先,根据操作系统选择合适的安装包;其次,按照安装向导的提示进行安装;最后,完成安装后配置环境变量并启动MySQL服务。 #### 2. 登录...

    MySQL 使用笔记 日常笔记

    6. **修改列**: `alter table table_name modify test char(20) not null` 更新列的属性。 7. **删除列**: `alter table table_name drop column test` 删除列。 8. **添加约束**: - 主键: `alter table table_...

    数据库mysql课件

    MySQL 数据库基础操作详解 MySQL 是一个关系型数据库管理系统,广泛应用于 Web 开发、数据存储和管理等领域。本资源提供了 MySQL 的基础操作详解,涵盖了数据的增删改查、数据表操作、数据库操作和命令行下操作等...

    linux下mysql基本配置及操作

    * 修改字段的编码:mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8; 此外,我们还可以在 MySQL 的配置文件中设置默认的字符编码。在 Linux 系统中,MySQL 的配置文件通常位于 /etc/my....

Global site tag (gtag.js) - Google Analytics