sql问题,大哥大姐们求教

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:20:47
我写的语句:begin tran
insert into cm_ctm_wt_mstr(cm_ctm_wt_cust,cm_ctm_wt_code,cm_ctm_wt_part,cm_ctm_wt_weight1,cm_ctm_wt_weight2,cm_ctm_wt_start,cm_ctm_wt_expire,cm_ctm_wt_crt_by,cm_ctm_wt_crt_date,cm_ctm_wt_char1,cm_ctm_wt_char2,cm_ctm_wt_char3,cm_ctm_wt_qty1,cm_ctm_wt_qty2,cm_ctm_wt_name)
select cp_cust,part2,part1,pt_net_weight,pt_net_weight,'2009-09-01','2069-12-31','admin','2009-09-28','','','','0','0',desc1 from daoru join cp_mstr on cp_part=part1 join pt_mstr on pt_part=part1
rollback

错误提示:Violation of PRIMARY KEY constraint 'pk_cm_ctm_wt_mstr'. Cannot insert duplicate key in object 'cm_ctm_wt_mstr'.
The statement has been terminated.
一般情况下这是哪个地方出错了

由于您在表中设置了主键,在表中不能存在相同的主键值。所以插入一个已存有的列值时,当然会出现错误提示。

表中设置了关键字
插入数据时 关键字不能有重复值

如果表中在这一列出现重复值就会出现上面的错误

'pk_cm_ctm_wt_mstr'

你往主键里面插入值了,这个事务没必要用吧,直接语句插入就好了, 'pk_cm_ctm_wt_mstr'是主键,操作时间要注意