繁体   English   中英

当我向表中添加新列时,插入开始失败,错误代码为:1136。列计数与第 1 行的值计数不匹配

[英]When I add a new column to my table, insert start failing with error Error Code: 1136. Column count doesn't match value count at row 1

创建表:

CREATE TABLE `ENROLLED_COURSES` (
  `EmployeeID` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `CourseID` int(11) NOT NULL,
  `Status` varchar(50) DEFAULT NULL,
  `DueDate` date DEFAULT NULL,
  `CreationDate` date DEFAULT NULL,
  `UpdateDate` date DEFAULT NULL,
  `CreatedBy` varchar(255) DEFAULT NULL,
  `UpdatedBy` varchar(255) DEFAULT NULL,
  `KnetUpdateDateUTC` datetime DEFAULT NULL,
  `OverrideStatusFlag` tinyint(4) DEFAULT '0',
  `OverrideReason` varchar(255) DEFAULT NULL,
  `IsSelfAssigned` bit(1) DEFAULT NULL,
  `IsManagerAssigned` bit(1) DEFAULT NULL,
  `LPCount` int(11) DEFAULT NULL,
  `Importance` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`EmployeeID`,`CourseID`),
  KEY `CourseID-ForeignKey-Constraint` (`CourseID`),
  CONSTRAINT `CourseID-ForeignKey-Constraint` FOREIGN KEY (`CourseID`) REFERENCES `COURSE_CATALOG` (`CourseID`),
  CONSTRAINT `EmployeeID-ForeignKey-Constraint` FOREIGN KEY (`EmployeeID`) REFERENCES `EMPLOYEE_DETAILS` (`EmployeeID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

插入开始失败的查询:

INSERT INTO
    ENROLLED_COURSES (
      EmployeeID,
      CourseID,
      Status,
      DueDate,
      CreationDate,
      CreatedBy,
      IsSelfAssigned,
      IsManagerAssigned,
      LPCount
    )
    VALUES(
    'abcde',
    '186',
    'Assigned',
    '2019-12-16',
     curdate(),
    'LP Assigned',
     0,
     0,
     1
    )
    ON DUPLICATE KEY UPDATE
    UpdatedBy  = IF(Values(DueDate) < IFNULL(DueDate, '9999-12-31'), Values(CreatedBy), UpdatedBy),
    UpdateDate = IF(Values(DueDate) < IFNULL(DueDate, '9999-12-31'), curdate(), UpdateDate),
    DueDate    = IF(Values(DueDate) < IFNULL(DueDate, '9999-12-31'), Values(DueDate), DueDate),
    IsSelfAssigned = Values(IsSelfAssigned),
    IsManagerAssigned = Values(IsManagerAssigned),
    LPCount    = Values(LPCount);

更改查询

ALTER TABLE ENROLLED_COURSES ADD Importance VARCHAR(255) DEFAULT NULL

我在表上定义的触发器是问题的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM