语法错误:在此位置上WITH不是有效的输入。

4

所以我有一个类似的请求

    WITH customers_in_usa AS (
        SELECT 
           customerName, state
        FROM
           customers
        WHERE
           country = 'USA'
    ) SELECT 
        customerName
    FROM
        customers_in_usa
    WHERE
        state = 'CA'
    ORDER BY customerName;

但是当我写的时候,我遇到了一个错误:“'WITH is not valid input in this position'”error_picture。你能帮我理解一下这段代码有什么问题吗?

2个回答

7

WITH customers_in_usa AS 是目前无效的 MySQL 代码。MySQL 将在未来的版本 8 中支持 CTE。

您可以重写您的 SQL 代码,以获得相同的结果。

SELECT 
    customerName
  , state
FROM 
   customers 
WHERE
   country = 'USA'
 AND
   state = 'CA'
ORDER BY
   customerName

2
MySQL在8.0.1版本之前不支持常用表达式WITH语法。

截至我撰写本文,8.0版本仍未完全成熟(但已处于发布候选状态,因此很快就会正式发布)。


更新:MySQL 8.0于2018年4月19日发布了首个GA版本8.0.11。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接