“from(subquery)'table'”附近的MySQL语法错误

时间:2013-04-24 21:42:32

标签: mysql syntax-error

select *
from ( select * from table ) 'table1';

我看不出为什么会收到此错误:

错误1064(42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''table1'' at line 2

我查过了手册(MySQL subquery in FROM clause),我看不出这些例子和我的小陈述之间有什么区别。

4 个答案:

答案 0 :(得分:3)

表名/别名必须用反引号包围或不包含任何内容

select *
from ( select * from table1 ) table1;

答案 1 :(得分:0)

我认为你想要引用而不是引用引号:

select *
from ( select * from table ) `table1`;

转发引号指定字符串常量。后引号分隔名称。

答案 2 :(得分:0)

如果您的子查询是一个表,则需要使用名称声明它。

select * from (select * from table1) as x

答案 3 :(得分:0)

除了不在别名周围添加引号之外,我相信你还需要在子查询中围绕“table”进行反引号,因为它是MySQL中的保留字(假设你确实将表命名为“table”):

select * from ( select * from `table` ) table1;