An ID (auto increment integer) always as primary key for each db-table?
I assume you are using RDBS.As far as you can set any value as primary key this will not cause strict programming trouble - but will be cumbersome.

What about convention that people use integer?
This comes from two parts:
It is easier to give unique id from autoincremented value.
Second is from relations and optimizations - database internally connects related items, so setting something different will cause overhead.

You should read two pages:
normal forms in database and primary keys.

Normal form is something you should have (at least third level) in your database, it saves programming trouble later like with splitting keys manually.