Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Every derived table must have its own alias大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如下sql语句:

SELECT * FROM ( SELECT ID,URL FROM alone_action WHERE STATE = '1' ) 

Oracle中可以执行,但在MysqL下无法通过,错误如下:

查询:SELECT * FROM ( SELECT ID,URL FROM alone_action WHERE STATE = '1' ) liMIT 0,1000 错误代码: 1248 Every derived table must have its own alias

Every derived table must have its own alias 意思是说 每个派生出来的表都必须有一个自己的别名,因为进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名

把Mysql语句改为如下即可

SELECT * FROM ( SELECT ID,URL FROM alone_action WHERE STATE = '1' ) as t
-------------------- 分割线 --------------------

作者出现上述错误的原因不是单纯执行sql的问题,而是有个项目是Oracle的需要迁移到MysqL,数据库迁移成功之后 运行报错

Caused by: com.MysqL.jdbc.exceptions.jdbc4.MysqLSyntaxErrorException: Every derived table must have its own alias

原因是因为Hibernate的dialect方言问题,将配置文件中Oracle的方言改为MysqL即可

<property name="dialect">
    org.hibernate.dialect.MysqLDialect
</property>

附:RDBMS 方言

@H_115_115@mysqL @H_115_115@mysqL with InnoDB @H_115_115@mysqL with MyISAM @H_115_115@microsoft sql Server @H_115_115@mckoi sql @H_301_246@
table Dialect
DB2 org.hibernate.dialect.DB2Dialect
DB2 AS/400 org.hibernate.dialect.DB2400Dialect
DB2 OS390 org.hibernate.dialect.DB2390Dialect
POSTGResql org.hibernate.dialect.POSTGResqlDialect
org.hibernate.dialect.MysqLDialect
org.hibernate.dialect.MysqLInnoDBDialect
org.hibernate.dialect.MysqLMyISAMDialect
Oracle (any version) org.hibernate.dialect.OracleDialect
oracle 9i/10g org.hibernate.dialect.Oracle9Dialect
Sybase org.hibernate.dialect.SybaseDialect
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
org.hibernate.dialect.sqlServerDialect
SAP DB org.hibernate.dialect.SAPDBDialect
Informix org.hibernate.dialect.InformixDialect
Hypersonicsql org.hibernate.dialect.HSQLDialect
Ingres org.hibernate.dialect.IngresDialect
Progress org.hibernate.dialect.ProgressDialect
org.hibernate.dialect.MckoIDialect
Interbase org.hibernate.dialect.InterbaseDialect
Pointbase org.hibernate.dialect.PointbaseDialect
FrontBase org.hibernate.dialect.FrontbaseDialect
Firebird org.hibernate.dialect.FirebirdDialect


作者:itmyhome

大佬总结

以上是大佬教程为你收集整理的Every derived table must have its own alias全部内容,希望文章能够帮你解决Every derived table must have its own alias所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: