0

我正在尝试插入一个新行,其中一列是该列的函数,MAX来自已经存在的值。我知道我可以通过设置一个临时变量并执行两个查询来轻松地使用 PHP 做到这一点,但我只是想知道你是否可以在纯 MySQL 中做到这一点。

首先我尝试了这个(注意,查询包含更多,但这是搞砸了):

INSERT INTO tbl
(column_name)
VALUES (
    max( column_name ) + 6
)

这会产生以下错误:

1111 组功能使用无效

然后我尝试了:

INSERT INTO tbl
(column_name)
VALUES (
    ( SELECT max( column_name ) + 6 FROM tbl )
)

这会产生以下错误:

1093 您不能在 FROM 子句中指定目标表 'tbl' 进行更新

4

1 回答 1

0
 INSERT INTO tbl (col, somecharcol, someintcol,somedatecol)
 SELECT MAX(col)+6,'literalstring',123,'2013-06-12' FROM tbl;
于 2013-08-13T23:18:19.240 回答