【发布时间】:2021-09-10 22:53:55
【问题描述】:
我正在尝试在 mysql8 上编写此查询,但它一直告诉我语法错误。我该怎么办?
WITH this_year AS (
SELECT YEAR(CURDATE())
),
max_val AS (
SELECT
IFNULL(MAX(custom_id_counter), 0)
FROM flow_instances AS max_val
WHERE
custom_id_year = YEAR(CURDATE())
)
INSERT INTO flow_instances (
custom_id_year,
custom_id_counter
) VALUES (
this_year,
max_val+1
);
错误:
错误代码:1064。您的 SQL 语法有错误;检查 与您的 MySQL 服务器版本相对应的手册 在 'INSERT INTO flow_instances ( custom_id_year,
custom_id_counter ) VALUES ( ' 在第 11 行
【问题讨论】:
-
CTE 就像一张桌子(因此是中间的 T)。不能在插入子句中使用表作为值。
标签: mysql sql common-table-expression mysql-8.0