Add Incrementing ID Field (Data Management)


Adds a database-maintained ID field to an existing table or feature class in a Dameng, IBM Db2, Microsoft Azure SQL Database, Microsoft SQL Server, Oracle, or PostgreSQL database. A database-maintained ID field is required for all feature classes or tables you plan to edit through a feature service.


  • You cannot run this tool on tables or feature classes that are registered with the geodatabase.

  • You must be the owner of the table or feature class to add an ID field to it.

  • If you do not specify a name for the field, ObjectID is used by default. If a field named ObjectID already exists, the tool will not run until you provide a different name.

  • If a database-maintained, incrementing ID field already exists, this tool will not add another one.

  • The following field types are added:

    DBMSData type


    int32 with identity property


    integer as identity


    number (with database sequence and trigger if created in Oracle 11g; with identity if created in Oracle 12c or later releases)



    SQL Server

    integer with identity property


AddIncrementingIDField(in_table, {field_name})
ParameterExplanationData Type

The location and name of the table or feature class to which an ID field will be added.

Table View

The name to be used for the ID field. If no input is provided, the default ObjectID will be used.


Derived Output

NameExplanationData Type

The input table that is updated to include an incrementing ID field.


Code sample

AddIncrementingIDField example (Python window)

Adds an ID field—FSID—to a table named violations owned by user insp when run from the Python window.

import arcpy
arcpy.AddIncrementingIDField_management("C:/Data/DatabaseConnections/mydb.sde/insp.violations", "FSID")


This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics