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 ステートメントを廃止し、代わりに選択を使用します。

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 に答える