Skip To Content

Assign Default To Field


This tool will create a default value for a specified field. Whenever a new row is added to the table or feature class, the specified field will be set to this default value.


  • The default value is dependent on the field type chosen in the Field Name parameter. If you pick a field that is type LONG (long integer), the default value has to be type LONG.

  • Adding subtypes to the default value is optional. If you add a subtype, there must be a subtype field in the feature class or table. You can set the subtype field using the Set Subtype Field tool.

  • You can also view and manage subtypes in Subtypes view which can be opened by clicking the Subtypes button found in the Design section of the Data ribbon, or by clicking the Subtypes button on the Fields view ribbon.

  • This tool may also be used to clear the default value of a field or subtype, if required.


AssignDefaultToField_management (in_table, field_name, {default_value}, {subtype_code}, {clear_value})
ParameterExplanationData Type

Input table or feature class that will have a default value added to one of its fields.

Mosaic Layer; Raster Layer; Table View

The field that will have the default value added to it each time a new row is added to the table or feature class.


The default value to be added to each new table or feature class. The value entered must match the data type of the field.


The subtypes that can participate in the default value.


Specify whether to clear the default value for either the field or the subtype. To clear the default value, the default_value parameter must be passed in as an empty string. To clear the default value for the subtype, you must also specify the subtype which is to be cleared.

  • TRUEThe default value will be cleared (set to null).
  • FALSEThe default value will not be cleared. This is the default.

Code sample

AssignDefaultToField example (Python window)

The following Python window script demonstrates how to use the AssignDefaultToField tool in immediate mode.

import arcpy
from arcpy import env
env.workspace = "C:/data/Montgomery.gdb/Landbase"
arcpy.CopyFeatures_management("blocks", "C:/output/output.gdb/blocks")
arcpy.AssignDefaultToField_management("C:/output/output.gdb/blocks", "Res", 1,
                                      ["0: Non-Residental", "1: Residental"])
AssignDefaultToField example 2 (stand-alone script)

The following stand-alone script demonstrates how to use the AssignDefaultToField tool.

# Name:
# Description: Assign a new default to a field along with subtypes
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "c:/data/Montgomery.gdb/Landbase"
# Set local variables
inFeatures = "blocks"
outFeatureClass = "c:/output/output.gdb/blocks"
fieldName = "Res"
defaultValue = 1
subTypes = ["0: Non-Residental", "1: Residental"]
# Execute CopyFeatures to make new copy of the input
arcpy.CopyFeatures_management(inFeatures, outFeatureClass)
# Execute AssignDefaultToField
arcpy.AssignDefaultToField_management(outFeatureClass, fieldName, 
                                      defaultValue, subTypes)


Licensing information

  • ArcGIS Desktop Basic: Yes
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes

Related topics