Specify Default Values for Columns

Applies to: SQL Server 2016 (13.x) and later Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

You can use SQL Server Management Studio to specify a default value that will be entered into the table column. You can set a default by using the SSMS Object Explorer or by executing Transact-SQL.

If you do not assign a default value to the column, and the user leaves the column blank, then:

  • If you set the option to allow null values, NULL will be inserted into the column.

  • If you do not set the option to allow null values, the column will remain blank, but the user will not be able to save the row until they supply a value for the column.

Limitations and Restrictions

Before you begin, be aware of the following limitations and restrictions:

  • If your entry in the Default Value field replaces a bound default (which is shown without parentheses), you will be prompted to unbind the default and replace it with your new default.
  • To enter a text string, enclose the value in single quotation marks ('); do not use double quotation marks (") because they are reserved for quoted identifiers.
  • To enter a numeric default, enter the number without quotation marks around it.
  • To enter an object/function, enter the name of the object/function without quotation marks around it.

Note

In Azure Synapse Analytics, only constants can be used for a default constraint. An expression cannot be used with a default constraint.

Permissions

The actions described in this article require ALTER permission on the table.

Use SSMS to specify a default

You can use Object Explorer in SSMS to specify a default value for a table column. To do so, follow these steps:

  1. Connect to your SQL Server instance in SSMS.

  2. In Object Explorer, right-click the table with columns for which you want to change the scale and select Design.

  3. Select the column for which you want to specify a default value.

  4. In the Column Properties tab, enter the new default value in the Default Value or Binding property.

    Note

    To enter a numeric default value, enter the number. For an object or function enter its name. For an alphanumeric default enter the value inside single quotes.

  5. On the File menu, select Save table name.

Use Transact-SQL to specify a default

There are various ways that you can specify a default value for a column by using submit T-SQL.

ALTER TABLE (T-SQL)

  1. In Object Explorer, connect to an instance of Database Engine.

  2. On the Standard bar, select New Query.

  3. Copy and paste the following example into the query window and select Execute.

    CREATE TABLE dbo.doc_exz (column_a INT, column_b INT); -- Allows nulls.
    GO
    INSERT INTO dbo.doc_exz (column_a) VALUES (7);
    GO
    ALTER TABLE dbo.doc_exz
      ADD CONSTRAINT DF_Doc_Exz_Column_B
      DEFAULT 50 FOR column_b;
    GO
    

CREATE TABLE (T-SQL)

    CREATE TABLE dbo.doc_exz (
      column_a INT,
      column_b INT DEFAULT 50);

Named CONSTRAINT (T-SQL)

    CREATE TABLE dbo.doc_exz (
      column_a INT,
      column_b INT CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50);

Next steps

For more information, see ALTER TABLE (Transact-SQL).