Wpdb->insert() doesn’t insert new row after the last one

This really has almost nothing to do with WordPress.

You probably haven’t created a primary key for your shops table, which should probably be shopid (assuming you’re using normal column naming conventions)