错误代码:1136。列数与第 1 行的值计数不匹配,我找不到错误
Posted
技术标签:
【中文标题】错误代码:1136。列数与第 1 行的值计数不匹配,我找不到错误【英文标题】:Error Code: 1136. Column count doesn't match value count at row 1 i cant find error 【发布时间】:2021-06-13 17:58:59 【问题描述】:我不明白为什么这不会执行:
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;
我只是找不到错误在哪里,尝试再次输入,但没有任何改变,有什么建议吗?我真的不知道
【问题讨论】:
向我们展示表定义。 我更新了问题 您已将 id 列设置为自动递增,但在插入语句中您设置了一个 id 值。尝试删除它并为学生详细信息 ID 指定,null
。或给它一个实际的ID。甚至可能只写完整的 sql 而不是简写并指定列名。 insert into
student` () VALUES ()
所以我对一名学生的陈述将是('Ricky','House','rickyhouse@gmail.com')
【参考方案1】:
您需要定义您希望输入的值,即自动增量,不需要添加。
做类似的事情
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');
【讨论】:
以上是关于错误代码:1136。列数与第 1 行的值计数不匹配,我找不到错误的主要内容,如果未能解决你的问题,请参考以下文章