我正在使用内部联接从详细表中更新汇总表,如下所示
drop TEMPORARY table if exists summ ;
drop TEMPORARY table if exists det ;
create TEMPORARY table summ (id int , val int ) ;
create TEMPORARY table det (id int , val int ) ;
insert into summ(id,val) value (1,0) ;
insert into summ(id,val) value (2,0) ;
insert into det(id,val) value (1,10) ;
insert into det(id,val) value (1,10) ;
insert into det(id,val) value (1,20) ;
update summ inner join det on summ.id = det.id
set summ.val = summ.val+ det.val ;
select * from summ where id = 1;
它的显示值 val 是 10 而不是 40 .. 有什么问题?我在 Windows 上使用 Mysql 5.1