SQL插入MAX值

时间:2012-09-10 17:53:38

标签: mysql sql

在SQL中,我如何插入另一列的MAX计数

所以我有这个

INSERT INTO USER(id,name,employee_code,email) VALUES (3,john,(SELECT MAX(employee_code)+1 FROM USER),"john@example.com");

然而,这不适用于语法...基本上它就像一个自动增量,我必须自己构建,因为employee_code有时等于0临时员工所以我需要一个命令来获取他们的最大代码并添加一个

4 个答案:

答案 0 :(得分:4)

您可能忘记john周围的引号:

INSERT INTO USER(id,name,employee_code,email)
VALUES (3, 'john', (SELECT MAX(employee_code)+1 FROM `USER`), "john@example.com");

答案 1 :(得分:2)

取消VALUES语句并改为使用select:

INSERT INTO USER(id,name,employee_code,email)
    SELECT 3, 'john', MAX(employee_code)+1, "john@example.com"
    FROM USER

答案 2 :(得分:1)

您需要使用INSERT INTO... SELECT ...FROM查询:

INSERT INTO USER(id,name,employee_code,email) 
SELECT 3, 'john', MAX(employee_code)+1, 'john@example.com'
FROM `USER`;

答案 3 :(得分:0)

INSERT INTO USER(id,name,employee_code,email) 

SELECT 
   3,
   'john', 
   MAX(employee_code)+1, 
   'john@example.com' 
FROM USER