使用SELECT查询

时间:2018-07-12 16:31:11

标签: mysql

这是我的桌子:

CREATE TABLE my_table (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL
);

这是现有的表user

CREATE TABLE user (
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL
);

现在,我想使用表INSERT中的值my_table进入user

使用此查询:

INSERT INTO my_table (id, firstname, lastname) 
VALUES (NULL, (SELECT firstname, lastname FROM user) );

我收到此错误:

  

操作数应包含1列

如何使用选择查询和auto_increment值插入?

2 个答案:

答案 0 :(得分:2)

INSERT INTO my_table (id, firstname, lastname) 
SELECT NULL, firstname, lastname FROM user

或更佳

INSERT INTO my_table (firstname, lastname) 
SELECT firstname, lastname FROM user

答案 1 :(得分:0)

尝试

INSERT INTO my_table (firstname, lastname) 
SELECT firstname, lastname FROM user;

自动增量将由定义它的第一个表进行管理。