>> Do I need to have a primary key in the table
Absolutely! However it need not be a single column, nor does it have to be an autoincrementing integer. You can define your primary key as any combination of fields that uniquely identifies a record within a table.
The easiest, and best (for lots of reasons) way it to use a "surrogate" key whose only purpose is to act as the unique identifer and that is where your auto-incrementing integer comes in.
However you do it, you must define for the view, which field(s) it should use as the key to update the data