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

问题描述

最近项目中用到了视图,用于查询数据。项目所使用的框架是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();一步一步写出来 看每一步的输出是否正确

时间: 2024-10-31 01:57:02

mysql Can not modify more than one base table through a join view的相关文章

怎么读取mysql一个库下面的所有的表table

我们先来看代码: <?php require 'class/db.php'; $sql = "select * from information_schema.tables where table_schema='ecshop' and table_type='base table' order by TABLE_ROWS desc "; $arr = $db->queryArray($sql); //var_dump($arr); foreach ($arr as $k

解决 Class not found和Base table or view not found: 1051 问题

1.解决class not found的方法: 如果你用的是homestead虚拟机,那么,你要到虚拟机下执行: composer dump-autoload 2.解决Base table or view not found: 1051的方法 mysql> drop database homestead; mysql> create database homestead; php artisan migrate   总结:当我用1的方法解决了1问题的时候,之后又出现了2的问题,然后再用2的方法

thinkphp3.2.2升级3.2.3后 Base table or view not found: 1146解决办法

在没升级前如果thinkphp中没有对应的数据表,直接定义模型就可以了,用D方法实例化就可以了,不过最近tp升级到3.2.3后出现问题提示错误:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'gudong365.gd_weixin' doesn't exist  我确实没有创建gd_weixin这张表,但是模型是这样定义的:WeixinModel 搜索了下官方网站,也有人问过这个问题,官方这样回复:[关闭调试模式应该就没有了,

MySQL · 新特性分析 · 5.7中Derived table变形记

Derived table实际上是一种特殊的subquery,它位于SQL语句中FROM子句里面,可以看做是一个单独的表.MySQL5.7之前的处理都是对Derived table进行Materialize,生成一个临时表保存Derived table的结果,然后利用临时表来协助完成其他父查询的操作,比如JOIN等操作.MySQL5.7中对Derived table做了一个新特性.该特性允许将符合条件的Derived table中的子表与父查询的表合并进行直接JOIN.下面我们看一下DBT-3中

MySQL学习笔记5:修改表(alter table)_Mysql

我们在创建表的过程中难免会考虑不周,因此后期会修改表修改表需要用到alter table语句 修改表名 复制代码 代码如下: mysql> alter table student rename person; Query OK, 0 rows affected (0.03 sec) 这里的student是原名,person是修改过后的名字 用rename来重命名,也可以使用rename to 修改字段的数据类型 复制代码 代码如下: mysql> alter table person modi

【MySQL】ERROR 1005 (HY000): Can&#039;t create table&#039; (errno: 150)

创建含有外键的表的时候遇到如下错误  ERROR 1005 (HY000): Can't create table 'eidsvr.oplog' (errno: 150) test@3302 12:02:22>CREATE TABLE biz(     -> id INTEGER NOT NULL AUTO_INCREMENT,      -> buid VARCHAR(255),      -> appkey VARCHAR(255),      -> createtime

MySQL内核月报 2015.01-TokuDB·特性分析· Optimize Table

来自一个TokuDB用户的"投诉": https://mariadb.atlassian.net/browse/MDEV-6207 现象大概是: 用户有一个MyISAM的表test_table: 转成TokuDB引擎后表大小为92M左右: 执行"OPTIMIZE TABLE test_table": 再次执行"OPTIMIZE TABLE test_table": 继续执行: 基本稳定在这个大小. 主索引从47M-->63M-->79

PG学习初体验--源码安装和简单命令

   其实对于PG,自己总是听圈内人说和Oracle很相似,自己也有一些蠢蠢欲动学习的想法,从我的感觉来看,它是介于Oracle和MySQL之间的一种数据库,具备类似Oracle的功能,兼具MySQL的开源风格.所以个人感觉无论是从Oracle转向学习PG,还是从MySQL转向PG都会有一些独到的侧重方向.当然学习数据库本身不是目的,会的越多并不能说明你很牛,能够深入理解数据库,就如同感受的性格和处事风格,在合适的场景使用它,无想应该是超越于技术本身之外,而且难能可贵的.   其实我本身也是一个

mysql 入门教程篇

mysql 入门教程篇 mysql数据库查询 SELECT * FROM table SELECT * FROM table1, table2, ... SELECT field1, field2, ... FROM table1, table2, ... SELECT ... FROM ... WHERE condition SELECT ... FROM ... WHERE condition GROUPBY field SELECT ... FROM ... WHERE condition