My question is the same as this one: Custom PrimaryKey Generation with autoincrement. But with a little twist.
When i built this database I had only one company and one set of customers, but now I run two companies, with different sets of customers. My first thought was to make two separate databases. But if I made changes to one of them I had to do the same to the other one, and I did not want to do this. So I decided to run both companies through the same database.
I have one table named Customer and it looks like this:

ID is the PK and also set to auto increment. This was working all good, until I decided two run two companies in the same DB. After I decided this, I added a column named CompanyID to attach that customer to a spcific company. This is also working like it should, when I log into my system as a user of company 1 I get compny 1's customers and so on.
But the problems appear when I add a new customer to the database. I want the customer ID's to start at 1 in both companies. But as it is now, when I create a customer in copmany 1 it gets customer number 1, and when I create a new customer in company 2 it increments on the same number, so it gets customer number 2. Here I wanted it to be customer number 1. The two increments should be separated based on the CompanyID.
First step might be to add both ID and CompanyID as PK, but what else should I do to accomplish this?
Also, if you got another opinion on how i should solve this, I would like to know!