这是我的桌子:
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值插入?
答案 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;
自动增量将由定义它的第一个表进行管理。