CREATE TABLE people (
id INT NOT NULL AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
salary INT NOT NULL,
PRIMARY KEY (id)
);
我的插入语句
INSERT INTO people
VALUES
('Austin', 65000),
('Josh', 100000),
('Pettea', 55000)
;
应该是:
INSERT INTO people(first_name, salary)
VALUES
('Austin', 65000),
('Josh', 100000),
('Pettea', 55000);
尝试一下。
[这里是一个有用的小提琴:https://www.db-fiddle.com/f/rW6QyPbyEMvZhcskipBpaX/0点击“运行”。
编辑:我想我读错了您的评论:在这种情况下,您需要指定要插入数据的列。现在,您的查询正在尝试将两列数据值插入三列表中。 INSERT INTO people
与INSERT INTO people(id,first_name,salary)
相似,因此插入两列数据会返回Column count doesn't match value count at row 1
错误。如果您这样做,则可以接受:
INSERT INTO people
VALUES
(1,'Austin', 65000),
(2,'Josh', 100000),
(3,'Pettea', 55000);
但是由于某种原因,您将id
列设为AUTO_INCREMENT
,因此无需手动填充。