在SQL我将如何插入另一列SQL插入到MAX值
的最大数量,使得我有这个
INSERT INTO USER(id,name,employee_code,email) VALUES (3,john,(SELECT MAX(employee_code)+1 FROM USER),"[email protected]");
但是这不符合语法的工作...基本上它就像一个自动增量,我必须自己构建,因为雇员代码有时等于0,因此我需要一个命令来获取最大代码并添加一个。
在SQL我将如何插入另一列SQL插入到MAX值
的最大数量,使得我有这个
INSERT INTO USER(id,name,employee_code,email) VALUES (3,john,(SELECT MAX(employee_code)+1 FROM USER),"[email protected]");
但是这不符合语法的工作...基本上它就像一个自动增量,我必须自己构建,因为雇员代码有时等于0,因此我需要一个命令来获取最大代码并添加一个。
与VALUES语句破除和使用select代替:
INSERT INTO USER(id,name,employee_code,email)
SELECT 3, 'john', MAX(employee_code)+1, "[email protected]"
FROM USER
其实他们在那里我忘了把它们加在这里......对不起 –
你可能忘了周围john
报价:
INSERT INTO USER(id,name,employee_code,email)
VALUES (3, 'john', (SELECT MAX(employee_code)+1 FROM `USER`), "[email protected]");
INSERT INTO USER(id,name,employee_code,email)
SELECT
3,
'john',
MAX(employee_code)+1,
'[email protected]'
FROM USER
您需要使用INSERT INTO... SELECT ...FROM
查询:
INSERT INTO USER(id,name,employee_code,email)
SELECT 3, 'john', MAX(employee_code)+1, '[email protected]'
FROM `USER`;
PI轻松运行'SHOW CREATE TABLE USER \ G'并发布。 – RolandoMySQLDBA
如果您拥有数据库/应用程序的多个用户,则需要通过显式锁定或通过对员工代码使用序列派生或自动增量值来根据您的rdbms提供的内容来进行不同的处理。 –