插入包含与现有行相关的值的新行

时间:2013-08-13 23:10:22

标签: php mysql pdo

我正在尝试插入一个新行,其中一列是已经存在的值中该列的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'

1 个答案:

答案 0 :(得分:0)

 INSERT INTO tbl (col, somecharcol, someintcol,somedatecol)
 SELECT MAX(col)+6,'literalstring',123,'2013-06-12' FROM tbl;