Based on
http://stackoverflow.com/questions/6895679/mysqls-auto-increment-behavior-in-a-multiple-row-insert
MySQL can insert multiple rows at once, and LAST_INSERT_ID() returns the ID of the first inserted item. The question is whether the remaining IDs can be guaranteed to be consecutive?
There's an expert answer below, that in a special case, if configured as a replicated multi-master setup, inserts connected to one master will get odd numbers, while the other master gets even numbers. For normal situations, at least InnoDB inserts are atomic, and inserts to the same table are queued, ensuring that IDs from two inserts won't interleave. However, MySQL documentation does not explicitly state this.
So the solution I want to implement to get multiple consecutive IDs at once is to insert multiple rows like this:
INSERT INTO seq_event_id (id) VALUES (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL)
Then use LAST_INSERT_ID() to get the ID of the first inserted item, and based on the fact that the inserted IDs are consecutive, we can know each ID.