当我尝试建立这个小数据库时,我不断收到此错误:
ERROR: Error 1136: Column count doesn't match value count at row 1
SQL Code:
INSERT INTO area (name, description)
VALUES ('National'),
('The place for all National political issues.')
SQL script execution finished: statements: 19 succeeded, 1 failed
似乎所有列数都匹配,所以我不知道我要去哪里。我认为问题出在我的插入物上。我正在使用MySQLWorkbench,每次尝试从头开始构建数据库时都会发生此问题。任何帮助将不胜感激!
谢谢。
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema RvB
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema RvB
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `RvB` DEFAULT CHARACTER SET utf8 ;
USE `RvB` ;
-- -----------------------------------------------------
-- Table `RvB`.`area`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`area` (
`name` VARCHAR(100) NOT NULL,
`description` VARCHAR(200) NULL,
PRIMARY KEY (`name`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`links`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`links` (
`id` INT NOT NULL AUTO_INCREMENT,
`link` VARCHAR(999) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`affiliation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`affiliation` (
`id` INT NOT NULL AUTO_INCREMENT,
`affiliation` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`privilege`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`privilege` (
`id` INT NOT NULL AUTO_INCREMENT,
`privilege` VARCHAR(45) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`pages`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`pages` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(200) NOT NULL,
`area` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`),
INDEX `area_idx` (`area` ASC) VISIBLE,
CONSTRAINT `area`
FOREIGN KEY (`area`)
REFERENCES `RvB`.`area` (`name`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`accounts`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`accounts` (
`username` VARCHAR(20) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`party` INT NOT NULL,
`password` VARCHAR(40) NOT NULL,
`creation_date` DATE NULL,
`privileges` INT NOT NULL,
PRIMARY KEY (`username`),
INDEX `party_idx` (`party` ASC) VISIBLE,
INDEX `privileges_idx` (`privileges` ASC) VISIBLE,
CONSTRAINT `party`
FOREIGN KEY (`party`)
REFERENCES `RvB`.`affiliation` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `privileges`
FOREIGN KEY (`privileges`)
REFERENCES `RvB`.`privilege` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`posts`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`posts` (
`id` INT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(20) NOT NULL,
`affiliation` INT NOT NULL,
`post_text` VARCHAR(9999) NULL,
`time_and_date` DATETIME(4) NOT NULL,
`votes` INT NOT NULL DEFAULT 0,
`page` INT NOT NULL,
`post_title` VARCHAR(500) NOT NULL,
PRIMARY KEY (`id`),
INDEX `page_idx` (`page` ASC) VISIBLE,
INDEX `affiliation_idx` (`affiliation` ASC) VISIBLE,
INDEX `username_idx` (`username` ASC) VISIBLE,
CONSTRAINT `page`
FOREIGN KEY (`page`)
REFERENCES `RvB`.`pages` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `affiliation`
FOREIGN KEY (`affiliation`)
REFERENCES `RvB`.`affiliation` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `username`
FOREIGN KEY (`username`)
REFERENCES `RvB`.`accounts` (`username`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`postComments`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`postComments` (
`id` INT NOT NULL AUTO_INCREMENT,
`post_id` INT NOT NULL,
`username` VARCHAR(20) NOT NULL,
`text` VARCHAR(8000) NULL,
`date` DATETIME NULL,
PRIMARY KEY (`id`),
INDEX `post_id_idx` (`post_id` ASC) VISIBLE,
INDEX `username_idx` (`username` ASC) VISIBLE,
CONSTRAINT `postid`
FOREIGN KEY (`post_id`)
REFERENCES `RvB`.`posts` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `user-name`
FOREIGN KEY (`username`)
REFERENCES `RvB`.`accounts` (`username`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `RvB`.`contactUs`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `RvB`.`contactUs` (
`id` INT NOT NULL AUTO_INCREMENT,
`email` VARCHAR(150) NOT NULL,
`message` VARCHAR(2000) NULL,
`name` VARCHAR(150) NULL,
`date` DATETIME NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- begin attached script 'script'
INSERT INTO privilege (privilege)
VALUES ('reg_user'),
('moderator'),
('archmoderator'),
('admin');
INSERT INTO affiliation (affiliation)
VALUES ('republican'),
('democrat'),
('libertarian'),
('green'),
('constitution');
INSERT INTO area (name, description)
VALUES ('National'),
('The place for all National political issues.');
INSERT INTO area (name, description)
VALUES ('Colorado'),
('The place for all Colorado issues or politicians.');
INSERT INTO pages (title, area)
VALUES ('Abortion'),
('National');
INSERT INTO accounts (username, email, party, password, creation_date, privileges)
VALUES ('dan_the_repub'),
('republican@gmail.com'),
('1'),
('password'),
('2020-09-14'),
('1');
INSERT INTO accounts (username, email, party, password, creation_date, privileges)
VALUES ('kendra_the_demo'),
('democratsRus@gmail.com'),
('2'),
('password'),
('2020-09-13'),
('1');
INSERT INTO posts (username, affiliation, post_text, time_and_date, votes, page, post_title)
VALUES ('dan_the_repub'),
('1'),
('Republicans rule!!'),
('2020-09-15 12:43:10'),
('20'),
('1'),
('What I think about Republicans, a statement');
INSERT INTO posts (username, affiliation, post_text, time_and_date, votes, page, post_title)
VALUES ('kendra_the_demo'),
('2'),
('Go go go go Democrats!!'),
('2020-09-13 11:42:05'),
('25'),
('1'),
('Democrats are the best! Everyone else stinks!');
-- end attached script 'script'
答案 0 :(得分:0)
VALUES ('National', 'The place for all National political issues.')
之后的每个带括号的组都是一行,其中每个列都有一个表达式。如果要插入1行2列,则应该只有一个组。
INSERT INTO area
您的代码正在尝试插入2行,但仅在每一行中提供1列的值。每个组中的表达式数必须与vector<int> gradingStudents(vector<int> grades) {
for(int i=0;i<grades.size();i++)
{
if((grades[i])<38)
break;
if((grades[i]%5) >= 3)
grades[i]=grades[i]+ (5-(grades[i]%5))
}
return grades;
之后的列表中的列数匹配。