Your subquery returns multiple results (as the error says).
You can limit the updated rows by using, for example, an aggregate function as follows:
update Product P set P.Code = (select MAX(Serial) from Info where id = P.Code);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…