Mysql 更新记录失败,出现重复条目错误

Mysql 更新记录失败,出现重复条目错误,mysql,Mysql,我有上表结构。我想更新pl_id=320636的表,并用新值设置结束日期 CREATE TABLE `placements` ( ...... ......, PRIMARY KEY (`pl_id`), KEY `cur3` (`currency`), KEY `pl2` (`date_arranged`), KEY `pl3` (`start_date`,`end_date`), KEY `pla_peo_id` (`peo_id`), KEY `pla_pl

我有上表结构。我想更新pl_id=320636的表,并用新值设置结束日期

CREATE TABLE `placements` (
  ......
  ......,
  PRIMARY KEY (`pl_id`),
  KEY `cur3` (`currency`),
  KEY `pl2` (`date_arranged`),
  KEY `pl3` (`start_date`,`end_date`),
  KEY `pla_peo_id` (`peo_id`),
  KEY `pla_placed_with` (`placed_with`),
  KEY `pla_reh2` (`remind_agent`,`status`,`end_date`),
  KEY `reh_temp2` (`parent_id`),
  KEY `pl_id` (`pl_id`),
  CONSTRAINT `pla_comp_fk1` FOREIGN KEY (`placed_with`) REFERENCES `companies` (`pid`),
  CONSTRAINT `pla_con_fk1` FOREIGN KEY (`peo_id`) REFERENCES `contractors` (`pid`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8
为键“主”错误提供重复条目“320636-2016-02-15 00:00:00”


我试图删除主键,但没有成功。请帮助我

错误出现在连接id和日期的键中。您的模式中不存在这样的键,并且错误中的日期与更新中查询中的日期不同,这表明您在此处提供的信息不完整。如果使用不同的日期会发生什么?如果删除约束会发生什么?主键是自动递增的吗?如果是,它的属性是什么?它本质上是一个
tinyint、int、有符号还是无符号的
?您的解决方案就在这里,我认为错误的日期是设置为该pl_id的开始日期的日期。如果我使用开始日期之前的日期,即2009-03-09 00:00:00,在这种情况下可以正常工作。是否有另一个id和开始日期上有主键的表,哪个引用了这个?我的主键不是自动递增的。我有一个旧代码,它获取max+1 pl\u id并插入新记录。主键
pl\u id
int(8)非空,
update placements set end_date = '2016-03-09 00:00:00' where pl_id = '320636'