How to insert rows for each of the type column?
You absolutely do not want to change the id for any row when inserting new data.
Your Primary Key (id) value should be set when each record is created, remain the same throughout the entire lifetime of that record, right up to the point where that record is finally destroyed.
Imagine if banks &quot;renumbered&quot; people's bank accounts every time someone [else] closed their account.  There would be chaos.
If the combination of &quot;choice&quot; and &quot;type&quot; is unique, then that could form a Natural, Composite, Primary Key for this table, removing the need for the id column entirely.
YMMV.
Alternatively, just let your database allocate ids to the new records - their actual values do not matter, just that they are unique.
I do not believe you need the order column either.  From the data you show ...
select 
. . . 
order by type, choice

... would achieve exactly the same thing, without the need to update anything as data is added or removed.