mysql - 错误代码:1136。列数与第 1 行的值计数不匹配,我找不到错误
问题描述
我不明白为什么这不会执行:
use dbstudents;
INSERT INTO `student` VALUES
(1,'Ricky','House','rickyhouse@gmail.com'),
(2,'Leo','Graham','leograham@gmail.com'),
(3,'Spencer','Hudson','sepncerhudson@gmail.com'),
(4,'Tucker','Burke','tuckerburke@gmail.com'),
(5,'Korbin','Cruz','korbincruz@gmail.com');
完整的sql:
CREATE DATABASE IF NOT EXISTS `dbstudents`;
USE `dbstudents`;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `student_detail`;
CREATE TABLE `student_detail` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`city` varchar(45) DEFAULT NULL,
`phone_number` int(10) DEFAULT NULL,
`favourite_language` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) DEFAULT NULL,
`last_name` varchar(45) DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
`student_detail_id` int (11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_DETAIL_idx` (`student_detail_id`),
CONSTRAINT `FK_DETAIL` FOREIGN KEY (`student_detail_id`) REFERENCES `student_detail` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
我只是找不到错误在哪里,尝试再次输入,但没有任何改变,有什么建议吗?我真的不知道
解决方案
您需要定义您希望输入的值,即自动增量,不需要添加。
所以做类似的事情
INSERT INTO `student` (`first_name`,`last_name`,`email`) VALUES
('Ricky','House','rickyhouse@gmail.com'),
('Leo','Graham','leograham@gmail.com'),
('Spencer','Hudson','sepncerhudson@gmail.com'),
('Tucker','Burke','tuckerburke@gmail.com'),
('Korbin','Cruz','korbincruz@gmail.com');
推荐阅读
- python - scipy.optimize.fsolve 和 sympy 的求解函数的区别
- java - 如何强制 JPA 中的 @Transactional 提交两个存储库操作,而不仅仅是最后一个?
- python - PyHive 连接错误 - 无法启动 SASL
- html - 在没有表单标签(JSP)的jsp中自动填充输入类型="text"
- c# - C# 编程任务
- cmake - CMAKE:如何将绝对路径放在包含目录中
- mysql - 如何使用 MySQL 获取单行中的多个列?
- powerbi - 在 Power BI 中创建超过 4 个类别的 VENN 图表
- python - Flask-socketio 不从类方法和注册的信号槽发出数据
- html - 英雄横幅图像无法使用 css 和 html