this error would happen if you set the Store Order Summary or Store Order Details server behaviors to store a value to the primary key column of the either the orders or order details tables.
since it works if you only have one item, My guess is that you are storing the Order ID value to the DetailsID column of the of the OrderDetails table in the store order details behavior.
on the confirm page, open the Server Behaviors panel, and double click the Store Order Details behavior, make sure that the DetailID column is not set to receive a value.