IF NEW.操作人ID='0' THEN
IF NEW.操作类型='添加' THEN
INSERT INTO 员工基本信息
  (`员工基本信息`.`ID`,
`员工基本信息`.`姓名`,
`员工基本信息`.`部门编号`,
`员工基本信息`.`职称`,
`员工基本信息`.`性别`,
`员工基本信息`.`籍贯`,
`员工基本信息`.`学历`,
`员工基本信息`.`毕业院校`,
`员工基本信息`.`入社日期`,
`员工基本信息`.`底薪`,
`员工基本信息`.`转正日期`,
`员工基本信息`.`合同到期日`,
`员工基本信息`.`户籍性质`,
`员工基本信息`.`户籍所在地`,
`员工基本信息`.`手机号`,
`员工基本信息`.`专业`,
`员工基本信息`.`通讯补贴`,
`员工基本信息`.`工龄津贴`,
`员工基本信息`.`岗位津贴`,
`员工基本信息`.`全勤奖`)
SELECT
`员工信息管理明细`.ID,
`员工信息管理明细`.`姓名`,
`员工信息管理明细`.`部门编号`,
`员工信息管理明细`.`职称`,
`员工信息管理明细`.`性别`,
`员工信息管理明细`.`籍贯`,
`员工信息管理明细`.`学历`,
`员工信息管理明细`.`毕业院校`,
`员工信息管理明细`.`入社日期`,
`员工信息管理明细`.`底薪`,
`员工信息管理明细`.`转正日期`,
`员工信息管理明细`.`合同到期日`,
`员工信息管理明细`.`户籍性质`,
`员工信息管理明细`.`户籍所在地`,
`员工信息管理明细`.`手机号`,
`员工信息管理明细`.`专业`,
`员工信息管理明细`.`通讯补贴`,
`员工信息管理明细`.`工龄津贴`,
`员工信息管理明细`.`岗位津贴`,
`员工信息管理明细`.`全勤奖`
FROM
`员工信息管理明细`
WHERE
`员工信息管理明细`.`申请单号` = NEW.申请单号;
ELSEIF NEW.操作类型='修改' THENREPLACE INTO 员工基本信息 (`员工基本信息`.`ID`,
`员工基本信息`.`姓名`,
`员工基本信息`.`部门编号`,
`员工基本信息`.`职称`,
`员工基本信息`.`性别`,
`员工基本信息`.`籍贯`,
`员工基本信息`.`学历`,
`员工基本信息`.`毕业院校`,
`员工基本信息`.`入社日期`,
`员工基本信息`.`底薪`,
`员工基本信息`.`转正日期`,
`员工基本信息`.`合同到期日`,
`员工基本信息`.`户籍性质`,
`员工基本信息`.`户籍所在地`,
`员工基本信息`.`手机号`,
`员工基本信息`.`专业`,
`员工基本信息`.`通讯补贴`,
`员工基本信息`.`工龄津贴`,
`员工基本信息`.`岗位津贴`,
`员工基本信息`.`全勤奖`)
SELECT
`员工信息管理明细`.ID,
`员工信息管理明细`.`姓名`,
`员工信息管理明细`.`部门编号`,
`员工信息管理明细`.`职称`,
`员工信息管理明细`.`性别`,
`员工信息管理明细`.`籍贯`,
`员工信息管理明细`.`学历`,
`员工信息管理明细`.`毕业院校`,
`员工信息管理明细`.`入社日期`,
`员工信息管理明细`.`底薪`,
`员工信息管理明细`.`转正日期`,
`员工信息管理明细`.`合同到期日`,
`员工信息管理明细`.`户籍性质`,
`员工信息管理明细`.`户籍所在地`,
`员工信息管理明细`.`手机号`,
`员工信息管理明细`.`专业`,
`员工信息管理明细`.`通讯补贴`,
`员工信息管理明细`.`工龄津贴`,
`员工信息管理明细`.`岗位津贴`,
`员工信息管理明细`.`全勤奖`
FROM
`员工信息管理明细`
WHERE
`员工信息管理明细`.`申请单号` = NEW.申请单号;end if;
end if;
ERROR   duplicate entry 'xxxx' for key primary

解决方案 »

  1.   

    http://cache.baidu.com/c?m=9d78d513d99401ef05ad837e7c409024470fd1307a80c7150e83cf0ed32f4c41362ca9f16d35107587983c7001de100ba1e7360375437be8c888c35e9afbcc2775ce6176671df55c0f9147f29e5125b67ecd06bcea42bbadf045c2f38dc4df23158f4e4729d5a7965d0b&p=8b2a9415d9c706ea12a5853f47&user=baidu
      

  2.   

    语法本身没有问题。建议能提供测试数据。 你的CREATE TABLE, INSERT INTO, CREATE TRIGGER,以达到别人可以在自己的机器上模拟你的问题。这样可以直接调试排错。