我正在尝试插入一个新行,其中一列是已经存在的值中该列的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'
答案 0 :(得分:0)
INSERT INTO tbl (col, somecharcol, someintcol,somedatecol)
SELECT MAX(col)+6,'literalstring',123,'2013-06-12' FROM tbl;