Generally speaking, it seems more logical to do the regular insert rather than creating temporary table and then at some point in time dump to the main table.
If we're talking about the actual temporary table that MySQL creates with CREATE TEMPORARY TABLE statement, then you might run into various issues when you actually dump the data for permanent storage - since temporary tables are session-based (per connected user), then you might have issues if you experience disconnection during your session so you'll lose data, hence the integrity will be compromised.
You also didn't mention what storage engine you're using and why you're even considering creating a batch job for dumping the data to the main table. Without more insight into what's the actual problem, inserting data directly to the "main" table seems like a better choice.