TL;DR; SharePoint lists include a built-in unique, auto-generated ID column. Enable its display in list settings to show unique IDs for each item without custom solutions.

This seams to be a common problem, and one that I get many calls from users about:
I have a query with our Sharepoint site and was advised that you were probably the best person to ask.
I have created a list under:
http://sharepoint/sites/department/Lists/ListName/AllItems.aspx
I need the first column (Issue ID) to be an automatically generated number but can’t seem to get it. Would it be possible for you to take a look and advise?
You can’t add a new unique auto-generated ID to a SharePoint list, but there already is one there! If you edit the “All Items” view you will see a list of columns that do not have the display option checked.
There are quite a few of these columns that exist but that are never displayed, like “Created By” and “Created”. These fields are used within SharePoint, but they are not displayed by default so as not to clutter up the display. You can’t edit these fields, but you can display them to the user. if you check the “Display” box beside the ID field you will get a unique and auto-generated ID field displayed in your list.
Technorati Tags: SP 2007 Answers SP 2010 SharePoint
If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.
We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.

Healthgrades

Boeing

Illumina

New Signature

Emerson Process Management

ProgramUtvikling

Akaditi

DFDS

Higher Education Statistics Agency

Slicedbread

Schlumberger

Flowmaster (a Mentor Graphics Company)

MacDonald Humfrey (Automation) Ltd.

Trayport

Big Data for Humans

Teleplan

Philips

Kongsberg Maritime

Washington Department of Enterprise Services

Washington Department of Transport

Nottingham County Council

New Hampshire Supreme Court

Ghana Police Service

Royal Air Force

Milliman

Bistech

ALS Life Sciences

Emerson Process Management

Capita Secure Information Solutions Ltd

Trayport