1

在 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

4 回答 4

4

您可能忘记了周围的报价john

INSERT INTO USER(id,name,employee_code,email)
VALUES (3, 'john', (SELECT MAX(employee_code)+1 FROM `USER`), "john@example.com");
于 2012-09-10T17:55:46.333 回答
3

取消 VALUES 语句并使用 select 代替:

INSERT INTO USER(id,name,employee_code,email)
    SELECT 3, 'john', MAX(employee_code)+1, "john@example.com"
    FROM USER
于 2012-09-10T17:56:31.213 回答
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`;
于 2012-09-10T17:57:37.333 回答
0
INSERT INTO USER(id,name,employee_code,email) 

SELECT 
   3,
   'john', 
   MAX(employee_code)+1, 
   'john@example.com' 
FROM USER
于 2012-09-10T17:56:11.070 回答